GoFundMe GraphQL API

Welcome

The GoFundMe API enables partners to allow their users to create fundraiser pages without ever leaving the website, retrieve fundraiser and donation data to report and display, search through supported GoFundMe charities, and (coming soon) integrate donations and fundraiser search & discovery capabilities into their platforms.

By using GoFundMe's API, you're not just coding; you're contributing to a global movement of mutual support, one line of code at a time.

Getting started

Welcome to our platform! This guide will help you get started with our services.

Step 1: Log in to Partner page

  1. Go to the Partner page.
  2. Log in with your credentials.
  3. If you can't log in or can't find your company, contact GoFundMe support for assistance.

Step 2: Get your Partner code

  1. Once you can see your partner dashboard, you should see a referral link at the bottom of the dashboard e.g. https://gofundme.com/partners/create/{code}
  2. The last segment of that link is your partnership's unique referral code

Step 3: Create an API key

  1. Click on your company button in the top right corner.
  2. Select "Account".
  3. At the bottom, you have the option to create an API key.
  4. Create a new API key and save it somewhere secure, as you will only be able to view it once.

Step 4: Set up your request

  1. Open Postman (or your preferred tool for sending POST requests).
  2. Set the request type to POST.
  3. Use the URL https://graphql.gofundme.com/graphql.
  4. Add headers:
    • x-partner-code: Your partner code
    • x-api-key: Your API key
  5. Add your GraphQL query as the POST body (see example query below)
  6. Send the request
curl --location 'https://graphql.gofundme.com/graphql' \
--header 'x-partner-code: YOUR_PARTNER_CODE' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"query":"query { partner { code name}}"}'
query {
   partner {
    code
    name
  }
}

If you provided your key correctly, you should get back a response containing your partnership's name and code.

{
  "data": {
    "partner": {
      "code": "GFM",
      "name": "GoFundMe"
    }
  }
}

Next steps

Congratulations! You have successfully completed the getting started guide. Here are some next steps to explore:

Searching for charities

This guide will help you get started with searching for charities supported by GoFundMe or retrieving specific charity details using the nonprofit’s PPGF ID.

How it works

The charitySearch query allows you to retrieve a list of charities that GoFundMe supports based on keywords. This can be used to offer users an option to search for charities to select as a beneficiary for their fundraiser.

The charityByPaypalNonprofitId query allows you to retrieve details of a specific charity using the PPGF ID of that nonprofit. This endpoint is useful for determining which GoFundMe ID a charity has if a pre-selected charity will be the beneficiary of the fundraiser.

Example use cases

charitySearch

Let’s say you want to allow your users to search for any nonprofit to fundraiser for out of the list of available GoFundMe beneficiaries in a particular country. Pass the user’s search term into charitySearch and display the corresponding response back to the user to allow them to select which charity they would like to fundraise for. We encourage using the charity’s npoId (PPGF ID) in the fundraiserCreateDraft mutation.

Search for Red Cross with a country filter GB and return:

  • GoFundMe ID
  • PPGF ID
  • Charity Name
  • Charity Country

Query example:

{
  charitySearch(searchTerm: "red cross", filter: {
    countryCode: "GB"
  }) {
    id
    npoId
    name
    country
  }
}

Response:

{
  "data": {
    "charitySearch": [
      {
        "id": "4",
        "npoId": "12345",
        "name": "British Red Cross",
        "country": "GB"
      }
    ]
  }
}

charityByPaypalNonprofitId

Now let’s say you want to enable one (or several) pre-selected charities to the beneficiary. To find the GoFundMe ID for that specific charity, to use as a CharityInput in fundraiserCreateDraft, query charityByPaypalNonprofitId using the corresponding PPGF ID as a parameter.

Search a charity given its PPGF ID and return:

  • GoFundMe ID
  • Charity Name
  • Charity Description

Query example:

{
  charityByPaypalNonprofitId(paypalNonprofitId: 14886) {
    npoId
    name
  }
}

Response:

{
  "data": {
    "charityByPaypalNonprofitId": {
      "npoId": "14886",
      "name": "British Red Cross"
    }
  }
}

Connecting to GoFundMe via oAuth

When working with the GoFundMe API your application may need to perform actions directly on behalf of a user. Each user will need to authenticate with GoFundMe to verify their identity and to give your application permission to use and access their data.

OAuth 2.0 is a protocol that allows third-party applications to authenticate with APIs. OAuth 2.0 facilitates two main actions: obtaining an access token through user authorization, and using that access token to make API requests. At the end of a successful OAuth 2.0 exchange, an access token is returned to your application. You will need to submit this token with each API request in order to properly identify your application and access end-user data in a secure manner.

Your application does not need to store or transmit user account names or passwords, but instead relies on application credentials in the form of a Client ID and Client Secret that are unique to your application. The OAuth 2.0 protocol uses these credentials as part of an authorization step in which the user chooses to allow (or deny) your application access their data in GoFundMe. An end user may revoke access granted to your application at any time.

If you are brand new to OAuth 2.0, you can review the official OAuth 2.0 specification. See their Community Resources section for some simplified explanations.

Credentials

There are two credentials that you will need to exercise the OAuth 2.0 Authorization Code Flow: Client ID and Client Secret. You can reach out to GoFundMe to obtain these. Your Client Secret is sensitive and should be stored securely. Never expose your Client Secret in client-facing code e.g. a browser or installed mobile app.

To initiate an OAuth2.0 authorization code flow, you can construct and direct your user to the authorize URL:

https://auth.gofundme.com/oauth2/v1/apps/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&scope=openid%20fundraiser:create%20fundraiser:edit&state={state}

Request Parts

  • response_type=code: This indicates that you are initiating the Authorization Code Flow (which is the only flow we support)
  • client_id: This tells us which client is making the request, and allows us to display your branding on our consent page
  • redirect_uri: This is where the user will be automatically redirected upon completing the consent flow
  • scope: These are the specific permissions that you are requesting to perform on behalf of a user. For instance, the scope fundraiser:create will let you create a fundraiser directly on behalf of a user
    • openid: includes the OIDC id_token in the token response
    • fundraiser:create: needed for fundraiserCreateDraft
    • fundraiser:edit: needed for fundraiserPublish
    • fundraiser:view: needed for viewer.involvedFundraisers
  • state: The state parameter helps to mitigate CSRF attacks, and can also provide you a way to store state that you want to be returned in the redirect. This value should be unique for each new call to /authorize

Token Exchange

Once a user authenticates and completes the consent flow, they will be redirected back to the redirect_uri that was provided to the /authorize request along with an additional code query parameter: {redirect_uri}?code={code}&state={state}

Note: the state value will be identical to what was initially provided to /authorize Using the received code in combination with your Client Secret you can now use the /token endpoint to retrieve an access_token which allows you to act specifically on behalf of the consenting user.

For this request to succeed, you will need to provide your Client ID and Client Secret using the Authorization header in the following base64 encoded format:

Authorization: Basic <Base64(client_id:client_secret)>

For example, with a client_id of 123 and client_secret secret, the expected Authorization header becomes: Authorization: Basic MTIzOnNlY3JldA==

Note: MTIzOnNlY3JldA== is 123:secret base64 encoded.

Additionally, you will need to provide the code in the POST body. A complete example request for the above scenario would look like:

curl --location '<https://auth.gofundme.com/oauth2/v1/apps/token>' \\
--header 'Authorization: Basic MTIzOnNlY3JldA==' \\
--header 'Content-Type: application/x-www-form-urlencoded' \\
--data-urlencode 'grant_type=authorization_code' \\
--data-urlencode 'code=3fa0ed2389a5492e94626606ccb0f9e35deed098cb3dde2abce59f2c508132a6'

The response will follow the format:

{
    "access_token": "{jwt}",
    "token_type": "Bearer",
    "refresh_token": "{jwt}",
    "id_token": "{jwt}",
    "expires_in": 600
}

These tokens are short-lived, and intended to be ephemeral. In the case that a user revokes their consent to your application, your tokens will become invalid.

Using Access Tokens

Once you have obtained an access_token, you will be able to make requests directly on behalf of your user. You will only be able to make requests that fall within what the user consented to during the /authorize step.

To make a request on behalf of a user, you simply need to provide the access_token as an Authorization header following the format: Authorization: Bearer {access_token}

Having done that, you will be able to perform fundraiserCreateDraft (see Creating Fundraisers via API) or other mutations directly on behalf of the user.

A complete example request looks like:

curl --location '<https://graphql.gofundme.com/graphql>' \\
--header 'Authorization: Bearer {access_token}' \\
--header 'Content-Type: application/json' \\
--data-raw '{
  "query": "mutation fundraiserCreateDraft($title: String!) {
    fundraiserCreateDraft(input: {
      title: $title
    }) {
      fundraiser {
        title
      }
    }
  }",
  "variables": {
    "title": "My Fundraiser Title"
  }
}'

Creating and launching fundraisers via API

This guide will help you get started with programmatically creating and publishing fundraisers on GoFundMe.

How it works

The fundraiserCreateDraft mutation allows you to create a draft for a new fundraiser. The partnerPhotoUpload mutation is used in the create process to upload an image and then supply the fundraiserCreateDraft with an image URL.

The fundraiserPublish mutation allows you to publish the created fundraiser. The fundraiser will not be live to the user until it is published.

Example use cases

partnerPhotoUpload

First, upload an image to be used as the cover media for the fundraiser, using the partnerPhotoUpload mutation. Because the request must be multipart/form-data, how your query is structured will vary based on which graphql client you are using. Regardless of which client you use, you must also provide graphql-require-preflight: true on this request because it is multipart.

CURL example:

curl --location 'https://graphql.gofundme.com/graphql' \
--header 'graphql-require-preflight: true' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'x-partner-code: YOUR_PARTNER_CODE' \
--form 'operations={"query":"mutation partnerPhotoUpload($input: Upload!) { partnerPhotoUpload(input: $input) { id url fileSize fileType createdAt}}", "variables":{"input":null}}'
--form 'map={"0": ["variables.input"]}' \
--form '0=@"/path/to/local/file/file.png"'

Response:

{
    "data": {
        "partnerPhotoUpload": {
            "id": "59",
            "url": "https://www.gofundme.com/partnerassets/pitdev/partner-uploads/1722550606/ca7a4e16-5ac6-4c18-a1be-7bcce969bd08.jpeg",
            "fileSize": 15273,
            "fileType": "image/jpeg",
            "createdAt": "2024-08-01T17:16:47.000-05:00"
        }
    }
}

fundraiserCreateDraft

Then create a draft fundraiser, calling the fundraiserCreateDraft mutation with required inputs. Note: use the URL from the response of partnerPhotoUpload as the mediaUrl.

  • country
  • category
  • beneficiaryType
  • charity (if beneficiaryType=CHARITY)
  • postalCode
  • goalAmount
  • title
  • description (note: at the moment we do not support full HTML fundraiser descriptions, including emojis)
  • mediaUrl

Mutation example (charity fundraiser):

mutation {
  fundraiserCreateDraft(input: {
    title: "A Charity Fundraiser"
    category: MEDICAL
    charity: {
      paypalNonprofitId: 14886
    }
    country: "GB"
    postalCode: "E1 8RU"
    goalAmount: 5000
    beneficiaryType: CHARITY
    mediaUrl: "https://www.gofundme.com/partnerassets/pitdev/partner-uploads/1722481246/5a20d214-6685-4348-9789-57fd1b80d0bd.jpeg"
    partnerAffiliation: {
      sourceApplication: "Another Application"
    }
    description: "We are raising money for the British Red Cross. Please show your support by donating and sharing this fundraiser with your community."
  }) {
    fundraiser {
      slug
      fundId
      title
    }
    userErrors {
      field,
      message
    }
  }
}

To create a fund on behalf of the user, use the PartnerExternalOrganizerInput. This indicates that the fundraiser is being created by the partner, on the user's behalf.

FundraiserInput: {
  PartnerExternalOrganizerInput: {
    firstName: "John",
    lastName: "Doe",
    email: "johndoe@gmail.com",
    emailOptIn: true,
    locale: "en-US"
  }
}

Once published, the API will return a FundraiserResponse object. Inside, the FundraiserResponse.Fundraiser.PartnerExternalInput.organizerInviteUrl field contains a unique URL which should be shared with the user so they can officially claim the fundraiser and connect it to their GoFundMe account. For best results, provide the claim link to the user in your UI. GoFundMe will also send this link via email to the user to maximize the claim experience touchpoints.

Important: the fundraiser will not be fully associated to their GoFundMe account until the user completes the claim process, but they can still fundraise as normal.

Mutation example (individual fundraiser):

mutation {
  fundraiserCreateDraft(input: {
    title: "A Personal Fundraiser"
    category: EMERGENCY
    country: "GB"
    postalCode: "E1 8RU"
    goalAmount: 5000
    beneficiaryType: YOURSELF
    mediaUrl: "https://www.gofundme.com/partnerassets/pitdev/partner-uploads/1722481246/5a20d214-6685-4348-9789-57fd1b80d0bd.jpeg"
    partnerAffiliation: {
      sourceApplication: "Another Application"
    }
    description: "I'm rasing money for my school's wildfire relief efforts. Please show your support by donating and sharing this fundraiser with your community."
  }) {
    fundraiser {
      slug
      fundId
      title
    }
    userErrors {
      field,
      message
    }
  }
}

Response:

{
  "data": {
    "fundraiserCreateDraft": {
      "fundraiser": {
        "slug": "e5957e20-5335-4b8c-b1e3-cd8fc8d5d112",
        "fundId": "59024133",
        "title": "A Charity Fundraiser"
      },
      "userErrors": []
    }
  }
}

fundraiserPublish

To publish the draft fundraiser, use the fundraiserPublish mutation with the fundId from fundraiserCreateDraft as the input.

Mutation example:

mutation {
  fundraiserPublish(id: 59024133) {
    userErrors {
      message
    }
    fundraiser {
      title
      slug
      fundId
    }
  }
}

Response:

{
  "data": {
    "fundraiserPublish": {
      "userErrors": [],
      "fundraiser": {
        "title": "A Charity/ Personal Fundraiser",
        "slug": "a-fundraiser-slug",
        "fundId": "59024133"
      }
    }
  }
}

Additional examples

Automated Goals

Smart Goals is an optional feature that helps high-performing fundraisers raise more by automatically increasing the goal amount once it has been met or surpassed. This gradual adjustment helps maintain momentum and encourages continued donations without the organizer needing to take action.

To enable Smart Goals, use the smartGoalsEnabled field. This feature can be turned off at any time by the fundraiser organizers and by default is off unless explicitly enabled.

FundraiserInput: {
  smartGoalsEnabled: true
}

If Smart Goals are enabled, we recommend showing this copy to the user so they are aware why their goal has changed:

GoFundMe will use data from similar fundraisers to gradually adjust your goal as donations come in, to increase fundraiser success. You can turn this off at any time.

Communications consent

To let GoFundMe contact the organizer with fundraiser best practices, tips, and coaching, include this when creating the fundraiser:

partnerExternalOrganizerInput: {
  emailOptIn: true
}

This allows us to support users directly—improving fundraiser outcomes and increasing the likelihood of success. It’s especially helpful for new organizers who may not know where to start.

Please use the following standard consent language for users to launch their fundraisers:

By clicking on the GoFundMe button above, you agree to have your submitted information used to create a fundraiser on the third-party website or app of our partner GoFundMe, and for GoFundMe to use your information to contact you. You acknowledge that GoFundMe will process your information in accordance with its privacy notice.


If you’re creating a charity-linked fundraiser, and you’d like the nonprofit to receive basic information about the fundraiser creator (such as name and email) so they can provide support or say thank you, include the following.
FundraiserInput: {
  npoMarketingConsent: true
}

This gives the nonprofit visibility into who’s creating fundraisers on their behalf and enables them to deepen relationships with their supporters.

Working with test data

When creating fundraisers for development or testing purposes only, please use the isTestData field.

PartnerAffiliation: {
  isTestData: true
}

This ensures that fundraisers won't appear in GoFundMe search or other public discovery surfaces, that test donations are excluded from core metrics, and a clean separation from production fundraisers.

To further reinforce that these fundraisers are for testing, we recommend including the word "test" or "Test" in the fundraiser title (example: Test Fundraiser for "Partner Name").

The Partner referral flow is designed to enable partners to refer users to GoFundMe to create fundraisers with minimal development effort on the partner’s end. This is achieved by using specific URL query parameters to pre-fill information where possible, providing a streamlined experience for users and removing steps in the GoFundMe creation user flow.

These fundraisers are attributed to the Partner who refers them through their partnerCode. Attributed fundraisers and donations are accessible in the Partner Dashboard.

How it works

Organizations can refer their users to the Partner flow by appending URL query parameters to their GFM partner link (see partner.gofundme.com for the URL). These query parameters pre-fill specific fields on the fundraiser, reducing the amount of manual input required, and improving the onboarding experience for users.

Below are the supported query parameters.

Parameter Required Type Description          
zip_code optional number Zip code of the organizer/ fundraiser
country required string Country code of the organizer’s fundraiser (ex: US)
beneficiary_type optional string Beneficiary of the organizer’s fundraiser. Defaults to YOURSELF

Options:
- YOURSELF
- SOMEONE_ELSE
category optional string Category of the fundraiser. See category list
service_date optional datetime (UTC) string Memorial date of the fundraiser. Should only be used with the MEMORIALS category
tp_id optional string A unique external identifier provided by the partner to identify users on GoFundMe’s system. It is used in tandem with other identifiers to ensure a precise mapping of users



Information always collected on GoFundMe (not by the Partner)

Parameter Description
Goal amount Target amount to raise
Image Main image to display on the fundraiser page
Title Title/ name of the fundraiser
Story Description of the fundraiser

Examples

Create a Fundraiser with no query params
If no query parameters are passed along with the Partner referral link then the user will be redirected to gofundme.com/create and go through the regular GoFundMe creation process.

https://www.gofundme.com/partners/create/{partnerCode}

Create a Fundraiser with just country as a param
This is the minimum viable set of query parameters to create a draft fundraiser using the streamlined Partner flow. This query uses the required country parameter.

https://www.gofundme.com/partners/create/{partnerCode}?country=US

Create a Fundraiser with country, zip_code, category, beneficiary_type as params

https://www.gofundme.com/partners/create/{partnerCode}?country=US&zip_code=92618&category=Animals&beneficiary_type=YOURSELF

Create a Fundraiser with category, category, service_date, & tp_id as params

https://www.gofundme.com/partners/create/{partnerCode}?country=US&category=Memorials&service_date=2025-01-03T10%3A15%3A30Z&tp_id=01234

Retrieving donations/ fundraisers

This guide will help you get started with querying data to retrieve all the fundraisers or donations associated with fundraisers that were published via your GoFundMe partner account.

How it works

The partner.fundraiser query allows you to retrieve all fundraisers associated with your partner account. The fundraiser.donations query allows you to retrieve all donations to a given fundraiser. The partner.donations query allows you to retrieve all donations to all fundraisers associated with your partner account.

Example use cases

partner.fundraisers

To query all fundraisers associated with your partner account partner.fundraisers.

Query example:

query {
  partner {
    fundraisers {
      edges {
       node {
         title
         description
       }
      }
    }
  }
}

Response:

{
  "data": {
    "partner": {
      "fundraisers": {
        "edges": [
          {
            "node": {
              "title": "Partner Fundraiser 1",
              "description": "A fundraiser description for a test campaign"
            }
          },
          {
            "node": {
              "title": "Partner Fundraiser 2",
              "description": "Another description for a test campaign"
            }
          }
        ]
      }
    }
  }
} 

fundraiser.donations

To query all donations to one particular fundraiser, use fundraiser.donations. Use pagination and hasNextPage to determine when you’ve reached the end of a connection.

Query example:

query {
  fundraiser(slug: "example-campaign") {
    donations {
      pageInfo {
        hasNextPage
        hasPreviousPage
        startCursor
      }
      edges {
        cursor
        node {
          name
          amount {
            currencyCode
            amount
          }
          createdAt
        }
      }
    }
  }
}

Response:

{
  "data": {
    "fundraiser": {
      "donations": {
        "pageInfo": {
          "hasNextPage": true,
          "hasPreviousPage": false,
          "startCursor": "RG9uYXRpb246aWQ6NzYyODM4OTI1"
        },
        "edges": [
          {
            "cursor": "RG9uYXRpb246aWQ6NzYyODM4OTI1",
            "node": {
              "name": "Test Donor",
              "amount": {
                "currencyCode": "USD",
                "amount": 5
              },
              "createdAt": "2023-03-17T12:40:33.000-05:00"
            }
          },
          {
            "cursor": "RG9uYXRpb246aWQ6NzYyODg4ODk1",
            "node": {
              "name": "John Doh",
              "amount": {
                "currencyCode": "USD",
                "amount": 5
              },
              "createdAt": "2023-03-27T16:32:20.000-05:00"
            }
          },
          {
            "cursor": "RG9uYXRpb246aWQ6NzYyODkyODY1",
            "node": {
              "name": "Another Donor",
              "amount": {
                "currencyCode": "USD",
                "amount": 5
              },
              "createdAt": "2023-03-28T13:42:06.000-05:00"
            }
          }
        ]
      }
    }
  }

partner.donations

To query all donations associated with your partner account partner.donations. Use pagination and hasNextPage to determine when you’ve reached the end of a connection.

Query example:

query {
  partner {
    donations {
      pageInfo {
        hasNextPage
        hasPreviousPage
        startCursor
      }
      edges {
       node {
         name
         amount {
          currencyCode
          amount
        }
        fundraiser {
          title
          fundId
        }
       }
      }
    }
  }
}

Response:

{
  "data": {
    "partner": {
      "donations": {
        "pageInfo": {
          "hasNextPage": true,
          "hasPreviousPage": false,
          "startCursor": "RG9uYXRpb246aWQ6NzYxNTg1NjIz"
        },
        "edges": [
          {
            "node": {
              "name": "Archer Woolery",
              "amount": {
                "currencyCode": "USD",
                "amount": 5
              },
              "fundraiser": {
                "title": "Adyen test campaign",
                "fundId": "33760977"
              }
            }
          },
          {
            "node": {
              "name": "Archer Woolery",
              "amount": {
                "currencyCode": "USD",
                "amount": 5
              },
              "fundraiser": {
                "title": "Adyen test campaign",
                "fundId": "33760977"
              }
            }
          },
          {
            "node": {
              "name": "Archer Woolery",
              "amount": {
                "currencyCode": "USD",
                "amount": 5
              },
              "fundraiser": {
                "title": "Adyen test campaign",
                "fundId": "33760977"
              }
            }
          },
          {
            "node": {
              "name": "Product Testing",
              "amount": {
                "currencyCode": "USD",
                "amount": 7
              },
              "fundraiser": {
                "title": "Adyen test campaign",
                "fundId": "33760977"
              }
            }
          },
          {
            "node": {
              "name": "Ksenia Cat",
              "amount": {
                "currencyCode": "USD",
                "amount": 7
              },
              "fundraiser": {
                "title": "Adyen test campaign",
                "fundId": "33760977"
              }
            }
          }
        ]
      }
    }
  }
}

Retrieving a user's fundraisers via OAuth

This guide will help you get started with querying data to retrieve all the fundraisers organized by a user that has consented to share this information with your partner account.

How it works

The viewer.involvedFundraisers query allows you to retrieve fundraisers for the user associated with the OAuth access token you provide. This query will not return data if the access token does not include the fundraiser:view scope.

Example use cases

viewer.involvedFundraisers

Query example:

query {
  viewer {
    involvedFundraisers(
      filter:{
        myRelationships:[ORGANIZER],
        isPublished:true
      },
      first: 50, 
      order:CREATED_AT
    ) {
      edges {
        node {
          fundId
          title
          description
        }
      }
    }
  }
}

Response:

{
  "data": {
    "viewer": {
      "involvedFundraisers": {
        "edges": [
          {
            "node": {
              "fundId": "12345",
              "title": "Test fundraiser 1",
              "description": "test fundraiser description 1"
            }
          },
          {
            "node": {
              "fundId": "123456",
              "title": "Test fundraiser 2",
              "description": "test fundraiser description 2"
            }
          },
          {
            "node": {
              "fundId": "123457",
              "title": "Test fundraiser 3",
              "description": "test fundraiser description 3"
            }
          }
        ]
      }
    }
  }
}

Queries

charityByPaypalNonprofitId

Description

Gets a charity by Paypal Nonprofit ID

Response

Returns a Charity

Arguments

Name Description
paypalNonprofitId - ID! Paypal Nonprofit ID

Query

query charityByPaypalNonprofitId($paypalNonprofitId: ID!) {
  charityByPaypalNonprofitId(paypalNonprofitId: $paypalNonprofitId) {
    id
    npoId
    ein
    name
    categoryCode
    description
    city
    state
    country
    zipCode
    addressLine1
    logo {
      ...CharityPhotoFragment
    }
    slug
    paypalActivationStatus
    paypalEnrollmentStatus
    defaultFundId
    isSeoIndexable
    status
    verifiedAt
    allowsFundraiserCreation
    details {
      ...CharityDetailsFragment
    }
    socials {
      ...CharitySocialFragment
    }
    donations {
      ...DonationConnectionFragment
    }
    recentDonations {
      ...DonationConnectionFragment
    }
    fundraisers {
      ...FundraiserConnectionFragment
    }
    charityAggregates {
      ...CharityAggregatesFragment
    }
    showFeatures {
      ...ShowFeaturesFragment
    }
    fundraiserCategory
    fundraiserDefaultPhotos {
      ...FundraiserPhotoFragment
    }
    allFundraiserCoverPhotoOptions {
      ...CharityFundraiserPhotoWrapperFragment
    }
    getIncludeDefaultPhotos
    shouldIncludeInRecommendations
    currencyCode
  }
}

Variables

{"paypalNonprofitId": 4}

Response

{
  "data": {
    "charityByPaypalNonprofitId": {
      "id": "4",
      "npoId": "xyz789",
      "ein": "xyz789",
      "name": "abc123",
      "categoryCode": "abc123",
      "description": "abc123",
      "city": "xyz789",
      "state": "abc123",
      "country": "xyz789",
      "zipCode": "xyz789",
      "addressLine1": "xyz789",
      "logo": CharityPhoto,
      "slug": "xyz789",
      "paypalActivationStatus": 987,
      "paypalEnrollmentStatus": 987,
      "defaultFundId": 4,
      "isSeoIndexable": false,
      "status": "INACTIVE",
      "verifiedAt": "2007-12-03T10:15:30Z",
      "allowsFundraiserCreation": true,
      "details": CharityDetails,
      "socials": CharitySocial,
      "donations": DonationConnection,
      "recentDonations": DonationConnection,
      "fundraisers": FundraiserConnection,
      "charityAggregates": CharityAggregates,
      "showFeatures": ShowFeatures,
      "fundraiserCategory": "EMERGENCIES",
      "fundraiserDefaultPhotos": [FundraiserPhoto],
      "allFundraiserCoverPhotoOptions": [
        CharityFundraiserPhotoWrapper
      ],
      "getIncludeDefaultPhotos": false,
      "shouldIncludeInRecommendations": false,
      "currencyCode": "xyz789"
    }
  }
}

charitySearch

Description

Gets charities with keywords similar to the searchTerm. If searchTerm is not specified, returns top charities by Algolia's ranking score

Response

Returns [Charity!]!

Arguments

Name Description
searchTerm - String
filter - CharityFilter

Query

query charitySearch(
  $searchTerm: String,
  $filter: CharityFilter
) {
  charitySearch(
    searchTerm: $searchTerm,
    filter: $filter
  ) {
    id
    npoId
    ein
    name
    categoryCode
    description
    city
    state
    country
    zipCode
    addressLine1
    logo {
      ...CharityPhotoFragment
    }
    slug
    paypalActivationStatus
    paypalEnrollmentStatus
    defaultFundId
    isSeoIndexable
    status
    verifiedAt
    allowsFundraiserCreation
    details {
      ...CharityDetailsFragment
    }
    socials {
      ...CharitySocialFragment
    }
    donations {
      ...DonationConnectionFragment
    }
    recentDonations {
      ...DonationConnectionFragment
    }
    fundraisers {
      ...FundraiserConnectionFragment
    }
    charityAggregates {
      ...CharityAggregatesFragment
    }
    showFeatures {
      ...ShowFeaturesFragment
    }
    fundraiserCategory
    fundraiserDefaultPhotos {
      ...FundraiserPhotoFragment
    }
    allFundraiserCoverPhotoOptions {
      ...CharityFundraiserPhotoWrapperFragment
    }
    getIncludeDefaultPhotos
    shouldIncludeInRecommendations
    currencyCode
  }
}

Variables

{
  "searchTerm": "xyz789",
  "filter": CharityFilter
}

Response

{
  "data": {
    "charitySearch": [
      {
        "id": 4,
        "npoId": "abc123",
        "ein": "xyz789",
        "name": "xyz789",
        "categoryCode": "abc123",
        "description": "xyz789",
        "city": "xyz789",
        "state": "abc123",
        "country": "xyz789",
        "zipCode": "abc123",
        "addressLine1": "abc123",
        "logo": CharityPhoto,
        "slug": "xyz789",
        "paypalActivationStatus": 987,
        "paypalEnrollmentStatus": 987,
        "defaultFundId": "4",
        "isSeoIndexable": true,
        "status": "INACTIVE",
        "verifiedAt": "2007-12-03T10:15:30Z",
        "allowsFundraiserCreation": false,
        "details": CharityDetails,
        "socials": CharitySocial,
        "donations": DonationConnection,
        "recentDonations": DonationConnection,
        "fundraisers": FundraiserConnection,
        "charityAggregates": CharityAggregates,
        "showFeatures": ShowFeatures,
        "fundraiserCategory": "EMERGENCIES",
        "fundraiserDefaultPhotos": [FundraiserPhoto],
        "allFundraiserCoverPhotoOptions": [
          CharityFundraiserPhotoWrapper
        ],
        "getIncludeDefaultPhotos": false,
        "shouldIncludeInRecommendations": true,
        "currencyCode": "abc123"
      }
    ]
  }
}

fundraiser

Description

Gets a fundraiser by slug / url

Response

Returns a Fundraiser

Arguments

Name Description
slug - ID! Fundraiser slug

Query

query fundraiser($slug: ID!) {
  fundraiser(slug: $slug) {
    deprecatedNestedField
    id
    fundId
    autoFbPostMode
    expectedBeneficiaryRelation
    myRelationships
    categoryId
    category
    topCause {
      ...CauseFragment
    }
    charity {
      ...CharityFragment
    }
    currentAmount {
      ...MoneyFragment
    }
    defaultUrl
    defaultSlug
    donationCount
    commentsEnabled
    donationsEnabled
    smartGoalsEnabled
    smartGoalsOptIn
    videoSharingEnabled
    aiShareTextEnabled
    posterSharingEnabled
    areCollectionsDisplayed
    isUkraineFlow
    enableContact
    isGfmDotOrgFund
    hasDonations
    hasGfmOrgDonation
    fundDescription
    description
    fundName
    title
    goalAmount {
      ...MoneyFragment
    }
    userDefinedGoalAmount {
      ...MoneyFragment
    }
    goalDeadline
    deadline
    mediaType
    projectType
    serviceDate
    templateId
    turnOffDonations
    url
    slug
    redirectUrl
    organizer {
      ...UserFragment
    }
    mediaId
    visibleInSearch
    deactivated
    state
    inDegradedMode
    isLaunched
    isPublished
    fundraiserImageUrl
    mediaUrl
    fundraiserPhoto {
      ...FundraiserPhotoFragment
    }
    photo {
      ...FundraiserPhotoFragment
    }
    launchDate
    publishedAt
    socialShareLastUpdate
    location {
      ...LocationFragment
    }
    tags
    team {
      ...TeamFragment
    }
    partner {
      ...PartnerFragment
    }
    partnerCobrandingEnabled
    isPersonalCharity
    charityOrganized
    lastDonationAt
    donations {
      ...DonationConnectionFragment
    }
    totalDonations
    donationsOffsetPagination {
      ...DonationConnectionFragment
    }
    donationsFromShares {
      ...DonationConnectionFragment
    }
    commentsOffsetPagination {
      ...CommentConnectionFragment
    }
    comments {
      ...CommentConnectionFragment
    }
    teamMembers {
      ...TeamMemberFragment
    }
    coOrganizers {
      ...CoOrganizerConnectionFragment
    }
    coOrganizerInvites {
      ...CoOrganizerInviteFragment
    }
    commentCount
    updateCount
    uniqueDonorCount
    fundraiserHeartCount
    heartCount
    socialShareCount
    photoCounts {
      ...PhotoCountsFragment
    }
    donationsInLast48HoursCount
    partnerExternalOrganizer {
      ...PartnerExternalOrganizerFragment
    }
    autoThank {
      ...AutoThankFragment
    }
    goalLog {
      ...GoalFragment
    }
    instagramDeepLink
    isLinkedWithMeta
    npoMarketingConsent
    isPrivate
    thirdPartyId
    encourageRecurringDonations
    charityFundMomentType
    charityFundraiserMomentType
    whyToDonate
    withdrawalsLocked
    galleryImages {
      ...GalleryImagesConnectionFragment
    }
    suggestedGoalAmount {
      ...SuggestedGoalAmountFragment
    }
  }
}

Variables

{"slug": 4}

Response

{
  "data": {
    "fundraiser": {
      "deprecatedNestedField": "xyz789",
      "id": 4,
      "fundId": "4",
      "autoFbPostMode": false,
      "expectedBeneficiaryRelation": "YOURSELF",
      "myRelationships": ["ORGANIZER"],
      "categoryId": 4,
      "category": "EMERGENCIES",
      "topCause": Cause,
      "charity": Charity,
      "currentAmount": Money,
      "defaultUrl": "abc123",
      "defaultSlug": "abc123",
      "donationCount": 123,
      "commentsEnabled": false,
      "donationsEnabled": true,
      "smartGoalsEnabled": true,
      "smartGoalsOptIn": "ENABLED",
      "videoSharingEnabled": false,
      "aiShareTextEnabled": false,
      "posterSharingEnabled": false,
      "areCollectionsDisplayed": false,
      "isUkraineFlow": false,
      "enableContact": false,
      "isGfmDotOrgFund": false,
      "hasDonations": false,
      "hasGfmOrgDonation": true,
      "fundDescription": "xyz789",
      "description": "abc123",
      "fundName": "xyz789",
      "title": "abc123",
      "goalAmount": Money,
      "userDefinedGoalAmount": Money,
      "goalDeadline": "2007-12-03T10:15:30Z",
      "deadline": "2007-12-03T10:15:30Z",
      "mediaType": "UNKNOWN",
      "projectType": "UNKNOWN",
      "serviceDate": "2007-12-03T10:15:30Z",
      "templateId": 123,
      "turnOffDonations": false,
      "url": "abc123",
      "slug": "abc123",
      "redirectUrl": "xyz789",
      "organizer": User,
      "mediaId": "xyz789",
      "visibleInSearch": true,
      "deactivated": true,
      "state": "CAMPAIGNLITE",
      "inDegradedMode": false,
      "isLaunched": false,
      "isPublished": false,
      "fundraiserImageUrl": Url,
      "mediaUrl": Url,
      "fundraiserPhoto": FundraiserPhoto,
      "photo": FundraiserPhoto,
      "launchDate": "2007-12-03T10:15:30Z",
      "publishedAt": "2007-12-03T10:15:30Z",
      "socialShareLastUpdate": "2007-12-03T10:15:30Z",
      "location": Location,
      "tags": ["abc123"],
      "team": Team,
      "partner": Partner,
      "partnerCobrandingEnabled": false,
      "isPersonalCharity": false,
      "charityOrganized": true,
      "lastDonationAt": "2007-12-03T10:15:30Z",
      "donations": DonationConnection,
      "totalDonations": 123,
      "donationsOffsetPagination": DonationConnection,
      "donationsFromShares": DonationConnection,
      "commentsOffsetPagination": CommentConnection,
      "comments": CommentConnection,
      "teamMembers": [TeamMember],
      "coOrganizers": CoOrganizerConnection,
      "coOrganizerInvites": [CoOrganizerInvite],
      "commentCount": 123,
      "updateCount": 123,
      "uniqueDonorCount": 987,
      "fundraiserHeartCount": 987,
      "heartCount": 987,
      "socialShareCount": 123,
      "photoCounts": PhotoCounts,
      "donationsInLast48HoursCount": 987,
      "partnerExternalOrganizer": PartnerExternalOrganizer,
      "autoThank": AutoThank,
      "goalLog": [Goal],
      "instagramDeepLink": "xyz789",
      "isLinkedWithMeta": false,
      "npoMarketingConsent": false,
      "isPrivate": false,
      "thirdPartyId": "xyz789",
      "encourageRecurringDonations": false,
      "charityFundMomentType": "BIRTHDAY",
      "charityFundraiserMomentType": "xyz789",
      "whyToDonate": "xyz789",
      "withdrawalsLocked": false,
      "galleryImages": GalleryImagesConnection,
      "suggestedGoalAmount": SuggestedGoalAmount
    }
  }
}

fundraisersByThirdPartyId

Description

Gets a list of fundraisers by third party id

Response

Returns [Fundraiser]

Arguments

Name Description
fundTPId - ID! Fundraiser third party id

Query

query fundraisersByThirdPartyId($fundTPId: ID!) {
  fundraisersByThirdPartyId(fundTPId: $fundTPId) {
    deprecatedNestedField
    id
    fundId
    autoFbPostMode
    expectedBeneficiaryRelation
    myRelationships
    categoryId
    category
    topCause {
      ...CauseFragment
    }
    charity {
      ...CharityFragment
    }
    currentAmount {
      ...MoneyFragment
    }
    defaultUrl
    defaultSlug
    donationCount
    commentsEnabled
    donationsEnabled
    smartGoalsEnabled
    smartGoalsOptIn
    videoSharingEnabled
    aiShareTextEnabled
    posterSharingEnabled
    areCollectionsDisplayed
    isUkraineFlow
    enableContact
    isGfmDotOrgFund
    hasDonations
    hasGfmOrgDonation
    fundDescription
    description
    fundName
    title
    goalAmount {
      ...MoneyFragment
    }
    userDefinedGoalAmount {
      ...MoneyFragment
    }
    goalDeadline
    deadline
    mediaType
    projectType
    serviceDate
    templateId
    turnOffDonations
    url
    slug
    redirectUrl
    organizer {
      ...UserFragment
    }
    mediaId
    visibleInSearch
    deactivated
    state
    inDegradedMode
    isLaunched
    isPublished
    fundraiserImageUrl
    mediaUrl
    fundraiserPhoto {
      ...FundraiserPhotoFragment
    }
    photo {
      ...FundraiserPhotoFragment
    }
    launchDate
    publishedAt
    socialShareLastUpdate
    location {
      ...LocationFragment
    }
    tags
    team {
      ...TeamFragment
    }
    partner {
      ...PartnerFragment
    }
    partnerCobrandingEnabled
    isPersonalCharity
    charityOrganized
    lastDonationAt
    donations {
      ...DonationConnectionFragment
    }
    totalDonations
    donationsOffsetPagination {
      ...DonationConnectionFragment
    }
    donationsFromShares {
      ...DonationConnectionFragment
    }
    commentsOffsetPagination {
      ...CommentConnectionFragment
    }
    comments {
      ...CommentConnectionFragment
    }
    teamMembers {
      ...TeamMemberFragment
    }
    coOrganizers {
      ...CoOrganizerConnectionFragment
    }
    coOrganizerInvites {
      ...CoOrganizerInviteFragment
    }
    commentCount
    updateCount
    uniqueDonorCount
    fundraiserHeartCount
    heartCount
    socialShareCount
    photoCounts {
      ...PhotoCountsFragment
    }
    donationsInLast48HoursCount
    partnerExternalOrganizer {
      ...PartnerExternalOrganizerFragment
    }
    autoThank {
      ...AutoThankFragment
    }
    goalLog {
      ...GoalFragment
    }
    instagramDeepLink
    isLinkedWithMeta
    npoMarketingConsent
    isPrivate
    thirdPartyId
    encourageRecurringDonations
    charityFundMomentType
    charityFundraiserMomentType
    whyToDonate
    withdrawalsLocked
    galleryImages {
      ...GalleryImagesConnectionFragment
    }
    suggestedGoalAmount {
      ...SuggestedGoalAmountFragment
    }
  }
}

Variables

{"fundTPId": 4}

Response

{
  "data": {
    "fundraisersByThirdPartyId": [
      {
        "deprecatedNestedField": "abc123",
        "id": 4,
        "fundId": "4",
        "autoFbPostMode": true,
        "expectedBeneficiaryRelation": "YOURSELF",
        "myRelationships": ["ORGANIZER"],
        "categoryId": 4,
        "category": "EMERGENCIES",
        "topCause": Cause,
        "charity": Charity,
        "currentAmount": Money,
        "defaultUrl": "xyz789",
        "defaultSlug": "abc123",
        "donationCount": 123,
        "commentsEnabled": false,
        "donationsEnabled": true,
        "smartGoalsEnabled": true,
        "smartGoalsOptIn": "ENABLED",
        "videoSharingEnabled": false,
        "aiShareTextEnabled": false,
        "posterSharingEnabled": true,
        "areCollectionsDisplayed": true,
        "isUkraineFlow": false,
        "enableContact": false,
        "isGfmDotOrgFund": true,
        "hasDonations": false,
        "hasGfmOrgDonation": true,
        "fundDescription": "abc123",
        "description": "xyz789",
        "fundName": "xyz789",
        "title": "abc123",
        "goalAmount": Money,
        "userDefinedGoalAmount": Money,
        "goalDeadline": "2007-12-03T10:15:30Z",
        "deadline": "2007-12-03T10:15:30Z",
        "mediaType": "UNKNOWN",
        "projectType": "UNKNOWN",
        "serviceDate": "2007-12-03T10:15:30Z",
        "templateId": 123,
        "turnOffDonations": false,
        "url": "xyz789",
        "slug": "abc123",
        "redirectUrl": "xyz789",
        "organizer": User,
        "mediaId": "xyz789",
        "visibleInSearch": false,
        "deactivated": true,
        "state": "CAMPAIGNLITE",
        "inDegradedMode": true,
        "isLaunched": true,
        "isPublished": false,
        "fundraiserImageUrl": Url,
        "mediaUrl": Url,
        "fundraiserPhoto": FundraiserPhoto,
        "photo": FundraiserPhoto,
        "launchDate": "2007-12-03T10:15:30Z",
        "publishedAt": "2007-12-03T10:15:30Z",
        "socialShareLastUpdate": "2007-12-03T10:15:30Z",
        "location": Location,
        "tags": ["xyz789"],
        "team": Team,
        "partner": Partner,
        "partnerCobrandingEnabled": true,
        "isPersonalCharity": false,
        "charityOrganized": true,
        "lastDonationAt": "2007-12-03T10:15:30Z",
        "donations": DonationConnection,
        "totalDonations": 987,
        "donationsOffsetPagination": DonationConnection,
        "donationsFromShares": DonationConnection,
        "commentsOffsetPagination": CommentConnection,
        "comments": CommentConnection,
        "teamMembers": [TeamMember],
        "coOrganizers": CoOrganizerConnection,
        "coOrganizerInvites": [CoOrganizerInvite],
        "commentCount": 987,
        "updateCount": 987,
        "uniqueDonorCount": 987,
        "fundraiserHeartCount": 123,
        "heartCount": 987,
        "socialShareCount": 987,
        "photoCounts": PhotoCounts,
        "donationsInLast48HoursCount": 987,
        "partnerExternalOrganizer": PartnerExternalOrganizer,
        "autoThank": AutoThank,
        "goalLog": [Goal],
        "instagramDeepLink": "xyz789",
        "isLinkedWithMeta": false,
        "npoMarketingConsent": true,
        "isPrivate": true,
        "thirdPartyId": "abc123",
        "encourageRecurringDonations": false,
        "charityFundMomentType": "BIRTHDAY",
        "charityFundraiserMomentType": "xyz789",
        "whyToDonate": "abc123",
        "withdrawalsLocked": false,
        "galleryImages": GalleryImagesConnection,
        "suggestedGoalAmount": SuggestedGoalAmount
      }
    ]
  }
}

partner

Description

Data and Queries that are pertinent to a partner. Some properties under Partner are public, but others require either access to the Partner Dashboard, or a valid API Key. The ID parameter is not required if authenticating via API Key

Response

Returns a Partner

Arguments

Name Description
id - ID

Query

query partner($id: ID) {
  partner(id: $id) {
    id
    name
    code
    logoUrl
    regularLogoUrl
    isActive
    contactEmail
    revenueShare
    allowCobranding
    defaultCobranding
    fundraisers {
      ...FundraiserConnectionFragment
    }
    donations {
      ...DonationConnectionFragment
    }
    oAuthApplication {
      ...OAuthApplicationFragment
    }
    apiKeys {
      ...PartnerApiKeyFragment
    }
    metrics {
      ...PartnerMetricsFragment
    }
    reports {
      ...PartnerReportFragment
    }
    designatedRecipient {
      ...DesignatedRecipientFragment
    }
  }
}

Variables

{"id": 4}

Response

{
  "data": {
    "partner": {
      "id": 4,
      "name": "abc123",
      "code": "abc123",
      "logoUrl": Url,
      "regularLogoUrl": Url,
      "isActive": true,
      "contactEmail": "abc123",
      "revenueShare": Decimal,
      "allowCobranding": true,
      "defaultCobranding": true,
      "fundraisers": FundraiserConnection,
      "donations": DonationConnection,
      "oAuthApplication": OAuthApplication,
      "apiKeys": [PartnerApiKey],
      "metrics": PartnerMetrics,
      "reports": PartnerReport,
      "designatedRecipient": DesignatedRecipient
    }
  }
}

viewer

Description

Data and Queries that are pertinent to the current logged-in caller. Returns null for non-authenticated users

Response

Returns a User

Query

query viewer {
  viewer {
    unseenNotificationCount
    notificationFeed {
      ...NotificationActivityConnectionFragment
    }
    attributionInfo {
      ...AttributionInfoFragment
    }
    followedCauses {
      ...CausesConnectionFragment
    }
    personChatLogin {
      ...PersonChatTokenFragment
    }
    personChatDetails {
      ...PersonChatDetailsFragment
    }
    coachingTipsForFundraiser
    coachingTipsStreakForFundraiser
    coachingTasksForFundraiser {
      ...CoachingTaskCollectionFragment
    }
    coachingActionItems {
      ...CoachingActionItemFragment
    }
    communicationFundraiserPreferences {
      ...PersonCommunicationFundraiserPreferenceFragment
    }
    contactRecipients {
      ...ContactRecipientConnectionFragment
    }
    providerConnections {
      ...ProviderConnectionFragment
    }
    providerConnection {
      ...ProviderConnectionFragment
    }
    personRolesForFundraiser {
      ...PersonRolesForFundraiserFragment
    }
    givingFunds {
      ...GivingFundFragment
    }
    givingFund {
      ...GivingFundFragment
    }
    givingFundFavorites {
      ...GivingFundFavoriteFragment
    }
    hasInternalPermission
    marketingConsent {
      ...PersonConsentFragment
    }
    profile {
      ...ProfileFragment
    }
    isChampion
    id
    userId
    firstName
    lastName
    profileUrl
    createdAt
    country
    locale
    phone {
      ...PhoneInfoFragment
    }
    email {
      ...EmailInfoFragment
    }
    status
    donation {
      ...DonationFragment
    }
    assignedCountryForPayments
    consent {
      ...PersonConsentFragment
    }
    oAuthApplications {
      ...PartnerFragment
    }
    birthday
    latestWatchlistInquiry {
      ...WatchlistInquiryFragment
    }
    socialPlatformPreferences
    totalDonations
    totalDonated {
      ...MoneyFragment
    }
    totalDonatedForACause {
      ...MoneyFragment
    }
    totalDonationsFromShares
    totalDonatedFromShares {
      ...MoneyFragment
    }
    totalDonatedFromCauseShares {
      ...MoneyFragment
    }
    totalViewsFromShares
    totalDonorsFromShares
    totalInspiredDonationAmounts {
      ...MoneyFragment
    }
    totalInspiredDonationAmountsForACause {
      ...MoneyFragment
    }
    totalInspiredDonorsCount
    totalInspiredDonorsCountForACause
    totalFundraisersSupported
    totalFundraisersSupportedForACause
    donationsFromShares {
      ...DonationConnectionFragment
    }
    createdFundraisers {
      ...FundraiserFragment
    }
    involvedFundraisers {
      ...FundraiserConnectionFragment
    }
    donations {
      ...DonationConnectionFragment
    }
    claimableFundraisers {
      ...FundraiserFragment
    }
    charityStorylineResponse {
      ...CustomPromptResultFragment
    }
  }
}

Response

{
  "data": {
    "viewer": {
      "unseenNotificationCount": 987,
      "notificationFeed": NotificationActivityConnection,
      "attributionInfo": AttributionInfo,
      "followedCauses": CausesConnection,
      "personChatLogin": PersonChatToken,
      "personChatDetails": PersonChatDetails,
      "coachingTipsForFundraiser": ["SHARE_CLOSE_CONTACTS"],
      "coachingTipsStreakForFundraiser": 987,
      "coachingTasksForFundraiser": [
        CoachingTaskCollection
      ],
      "coachingActionItems": [CoachingActionItem],
      "communicationFundraiserPreferences": [
        PersonCommunicationFundraiserPreference
      ],
      "contactRecipients": ContactRecipientConnection,
      "providerConnections": [ProviderConnection],
      "providerConnection": ProviderConnection,
      "personRolesForFundraiser": PersonRolesForFundraiser,
      "givingFunds": [GivingFund],
      "givingFund": GivingFund,
      "givingFundFavorites": [GivingFundFavorite],
      "hasInternalPermission": true,
      "marketingConsent": PersonConsent,
      "profile": Profile,
      "isChampion": true,
      "id": "4",
      "userId": "4",
      "firstName": "xyz789",
      "lastName": "abc123",
      "profileUrl": Url,
      "createdAt": "2007-12-03T10:15:30Z",
      "country": "US",
      "locale": "abc123",
      "phone": PhoneInfo,
      "email": EmailInfo,
      "status": "INACTIVE",
      "donation": Donation,
      "assignedCountryForPayments": "US",
      "consent": PersonConsent,
      "oAuthApplications": [Partner],
      "birthday": "2007-12-03",
      "latestWatchlistInquiry": WatchlistInquiry,
      "socialPlatformPreferences": ["Email"],
      "totalDonations": 123,
      "totalDonated": [Money],
      "totalDonatedForACause": [Money],
      "totalDonationsFromShares": 987,
      "totalDonatedFromShares": [Money],
      "totalDonatedFromCauseShares": [Money],
      "totalViewsFromShares": 987,
      "totalDonorsFromShares": 123,
      "totalInspiredDonationAmounts": [Money],
      "totalInspiredDonationAmountsForACause": [Money],
      "totalInspiredDonorsCount": 123,
      "totalInspiredDonorsCountForACause": 987,
      "totalFundraisersSupported": 987,
      "totalFundraisersSupportedForACause": 987,
      "donationsFromShares": DonationConnection,
      "createdFundraisers": [Fundraiser],
      "involvedFundraisers": FundraiserConnection,
      "donations": DonationConnection,
      "claimableFundraisers": [Fundraiser],
      "charityStorylineResponse": CustomPromptResult
    }
  }
}

Mutations

fundraiserCreateDraft

Description

Create a new fundraiser, which will initially be in a draft state. Use the fundraiserPublish mutation to make a fundraiser publicly visible

Response

Returns a FundraiserResponse

Arguments

Name Description
input - FundraiserInput!

Query

mutation fundraiserCreateDraft($input: FundraiserInput!) {
  fundraiserCreateDraft(input: $input) {
    fundraiser {
      ...FundraiserFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}

Variables

{"input": FundraiserInput}

Response

{
  "data": {
    "fundraiserCreateDraft": {
      "fundraiser": Fundraiser,
      "userErrors": [UserError]
    }
  }
}

fundraiserPublish

Description

Publish a fundraiser

Response

Returns a FundraiserResponse

Arguments

Name Description
id - ID!
input - FundraiserPublishInput

Query

mutation fundraiserPublish(
  $id: ID!,
  $input: FundraiserPublishInput
) {
  fundraiserPublish(
    id: $id,
    input: $input
  ) {
    fundraiser {
      ...FundraiserFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}

Variables

{"id": 4, "input": FundraiserPublishInput}

Response

{
  "data": {
    "fundraiserPublish": {
      "fundraiser": Fundraiser,
      "userErrors": [UserError]
    }
  }
}

fundraiserUpdate

Description

Update a fundraiser Use the fundraiserPublish mutation to make a fundraiser publicly visible

Response

Returns a FundraiserResponse

Arguments

Name Description
id - ID!
input - FundraiserInput!

Query

mutation fundraiserUpdate(
  $id: ID!,
  $input: FundraiserInput!
) {
  fundraiserUpdate(
    id: $id,
    input: $input
  ) {
    fundraiser {
      ...FundraiserFragment
    }
    userErrors {
      ...UserErrorFragment
    }
  }
}

Variables

{
  "id": "4",
  "input": FundraiserInput
}

Response

{
  "data": {
    "fundraiserUpdate": {
      "fundraiser": Fundraiser,
      "userErrors": [UserError]
    }
  }
}

partnerPhotoUpload

Description

Allows a partner to upload a public asset. The content-type for this mutation must be multipart/form-data

Response

Returns a PartnerUpload

Arguments

Name Description
input - Upload! The file to upload

Query

mutation partnerPhotoUpload($input: Upload!) {
  partnerPhotoUpload(input: $input) {
    id
    fileName
    fileSize
    fileType
    url
    createdAt
  }
}

Variables

{"input": Upload}

Response

{
  "data": {
    "partnerPhotoUpload": {
      "id": 4,
      "fileName": "xyz789",
      "fileSize": 123,
      "fileType": "xyz789",
      "url": "xyz789",
      "createdAt": "2007-12-03T10:15:30Z"
    }
  }
}

Types

Activity

Description

Activity feeds are comprised of individual activities. Each activity will have an actor, verb, object, and optionally a target

Fields

Field Name Description
id - ID!
actor - Actor
verb - ActivityVerb
object - ActivityObject
target - ActivityTarget
metadata - ActivityMetadata
createdAt - DateTime The time the activity was created
visibility - ActivityVisibility The visibility of the activity
attributionId - ID Attribution id corresponding to the actor on the activity

Example

{
  "id": 4,
  "actor": Anonymous,
  "verb": "CREATED",
  "object": Donation,
  "target": Charity,
  "metadata": ActivityMetadata,
  "createdAt": "2007-12-03T10:15:30Z",
  "visibility": "PUBLIC",
  "attributionId": "4"
}

ActivityConnection

Fields

Field Name Description
edges - [ActivityEdge]
pageInfo - PageInfo!

Example

{
  "edges": [ActivityEdge],
  "pageInfo": PageInfo
}

ActivityEdge

Fields

Field Name Description
cursor - String
node - Activity

Example

{
  "cursor": "abc123",
  "node": Activity
}

ActivityMetadata

Fields

Field Name Description
type - ActivityMetadataTypeValues! The metadata type
value - ActivityMetadataValue The metadata value. The structure will differ based on the type of metadata

Example

{
  "type": "PROFILE_CAUSE_ADDED",
  "value": ProfilePinUpdatedMetadata
}

ActivityMetadataTypeValues

Description

The different kinds of activity metadata types that may appear. Each type of metadata corresponds to a different ActivityVerb and has his own metadata structure

Values

Enum Value Description

PROFILE_CAUSE_ADDED

Metadata type associated with the CAUSE_UPDATED verb

PROFILE_PIN_ADDED

Metadata type associated with the PIN_UPDATED verb

PROFILE_LIST_UPDATED

Metadata type associated with the LIST_UPDATED verb

Example

"PROFILE_CAUSE_ADDED"

ActivityMetadataValue

Description

The different kinds of activity metadata that may appear. Each type of metadata corresponds to a different ActivityVerb

Example

ProfilePinUpdatedMetadata

ActivityObject

Description

The primary resource associated with an activity. For a donation activity, the object is the donation

Types

Union Types

Donation

Fundraiser

Profile

Cause

Example

Donation

ActivityOrder

Values

Enum Value Description

REVERSE_CHRONOLOGICAL

Example

"REVERSE_CHRONOLOGICAL"

ActivityTarget

Description

The optional recipient of an activity. For a donation activity, the target is the fundraiser. In cases where there is no resource created by the activity, the object and the target will be the same. For example, when a profile is followed both the object and the target will be the Profile

Types

Union Types

Charity

Fundraiser

Profile

Cause

Example

Charity

ActivityVerb

Description

The action taken in an activity

Values

Enum Value Description

CREATED

DONATED

FOLLOWED

Appears when an entity is followed e.g. profile follow, cause follow

PUBLISHED

UPDATED

PIN_UPDATED

CAUSES_UPDATED

LIST_UPDATED

Example

"CREATED"

ActivityVisibility

Description

The visibility of an activity

Values

Enum Value Description

PUBLIC

Public activities are visibile to everyone

PRIVATE

Private activities are only visible to the owner

Example

"PUBLIC"

Actor

Description

The owner of an activity

Types

Union Types

Anonymous

User

Charity

GfmHero

NoActor

Example

Anonymous

Anonymous

Fields

Field Name Description
id - ID!

Example

{"id": 4}

AttributionInfo

Fields

Field Name Description
teamMemberId - ID The ID of the team member, used for the "referred by" team member feature in checkout

Example

{"teamMemberId": "4"}

AutoThank

Description

Represents an auto thank setting for a fundraiser, indicating whether donations should trigger an automatic thank-you email. The thank-you message can be customized, and its activation status can be toggled on/off

Fields

Field Name Description
id - ID!
message - String!
active - Boolean!
fundId - ID!

Example

{
  "id": 4,
  "message": "xyz789",
  "active": true,
  "fundId": 4
}

Boolean

Description

The Boolean scalar type represents true or false

CampaignRegistrationInput

Fields

Input Field Description
firstName - String! The user's first name
lastName - String! The user's last name
email - String! The user's email address
emailOptIn - Boolean Whether the user has opted in to receive emails
locale - String The locale for communications in IETF's BCP 47 standard (e.g. en-US)
address - String The user's mailing address
tshirtSize - TShirtSize The user's selected T-shirt size
phone - String The user's phone number
smsOptIn - Boolean Whether the user has opted in to receive sms

Example

{
  "firstName": "xyz789",
  "lastName": "abc123",
  "email": "abc123",
  "emailOptIn": true,
  "locale": "abc123",
  "address": "xyz789",
  "tshirtSize": "XS",
  "phone": "abc123",
  "smsOptIn": false
}

Cause

Fields

Field Name Description
id - ID! ID of a cause
gfmOrgFundraiser - Fundraiser GFM.org fundraiser associated with a cause
categoryId - ID ID of the cause's associated category Causes now have multiple categories. Use 'categoryIds' instead.
categoryIds - [ID] ID of the cause's associated top-level and sub-categories
slug - String Slug for cause's page
createdAt - DateTime When the cause was created
updatedAt - DateTime When the cause was most recently updated
totalFollowers - Int! Total number of followers for this cause
stats - CauseStats Statistics for this cause
communityConfiguration - CommunityConfiguration Configuration for the cause/community page
fundraisers - FundraiserConnection List of fundraisers belonging to the cause
Arguments
filterType - CauseFundraiserFilterType

Optional filter criteria for fundraisers

first - Int
last - Int
before - String
after - String
order - FundraiserOrder
causeActivitiesByFeedGroup - CauseActivityConnection Get activities for this cause filtered by feed group
Arguments
feedGroup - CauseActivityFeedGroup!

Type of activity feed group to fetch

first - Int

Number of activities to fetch (max 50)

after - String

Cursor for pagination

causeActivities - CauseActivityConnection
Arguments
first - Int
after - String
followers - FollowerConnection A cause's followers list (all the followers of the specified cause)
Arguments
first - Int
last - Int
before - String
after - String
order - FollowerOrder
feed - Feed A cause's activity feed (using the shared activity feed structure)

Example

{
  "id": 4,
  "gfmOrgFundraiser": Fundraiser,
  "categoryId": 4,
  "categoryIds": ["4"],
  "slug": "abc123",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "totalFollowers": 987,
  "stats": CauseStats,
  "communityConfiguration": CommunityConfiguration,
  "fundraisers": FundraiserConnection,
  "causeActivitiesByFeedGroup": CauseActivityConnection,
  "causeActivities": CauseActivityConnection,
  "followers": FollowerConnection,
  "feed": Feed
}

CauseActivity

Description

Base interface for all cause activities

Fields

Field Name Description
id - ID!
actor - CauseActivityActor! No longer supported
accountActor - Actor
createdAt - DateTime!
fundraiser - Fundraiser
type - CauseActivityFeedGroup!
reactionCounts - [CauseActivityReactionCount!]
ownReactions - [CauseActivityReaction!]

Possible Types

CauseActivity Types

CausePostActivity

CauseDonationActivity

Example

{
  "id": "4",
  "actor": CauseActivityActor,
  "accountActor": Anonymous,
  "createdAt": "2007-12-03T10:15:30Z",
  "fundraiser": Fundraiser,
  "type": "EDITORIAL_IMPACTS",
  "reactionCounts": [CauseActivityReactionCount],
  "ownReactions": [CauseActivityReaction]
}

CauseActivityActor

Description

An actor for the cause activity. This is the person or entity (e.g. GoFundMe, Jane Doe) that performed the activity

Fields

Field Name Description
name - String!
imageUrl - Url

Example

{
  "name": "abc123",
  "imageUrl": Url
}

CauseActivityAsset

Description

Represents a media asset (image, video) attached to a cause activity

Fields

Field Name Description
type - CauseActivityAssetType! The type of asset (image, video, etc.)
url - Url! URL where the asset can be accessed

Example

{"type": "IMAGE", "url": Url}

CauseActivityAssetType

Description

Types of assets that can be attached to a cause activity

Values

Enum Value Description

IMAGE

VIDEO

EXTERNAL_WEBPAGE

Example

"IMAGE"

CauseActivityConnection

Description

Connection for cause activities

Fields

Field Name Description
edges - [CauseActivityEdge]
pageInfo - PageInfo!

Example

{
  "edges": [CauseActivityEdge],
  "pageInfo": PageInfo
}

CauseActivityEdge

Description

Edge in the cause activity connection

Fields

Field Name Description
cursor - String
node - CauseActivity

Example

{
  "cursor": "xyz789",
  "node": CauseActivity
}

CauseActivityFeedGroup

Description

Feed group types for cause activities. A feed group is a collection of feeds; here, each feed group corresponds to a different post type

Values

Enum Value Description

EDITORIAL_IMPACTS

ENDORSER_EDITORIALS

EDITORIAL_ORGANIZER_SPOTLIGHTS

FUNDRAISER_UPDATES

FUNDRAISER_DONATION_HIGHLIGHTS

Example

"EDITORIAL_IMPACTS"

CauseActivityReaction

Description

Reaction to an activity

Fields

Field Name Description
id - ID! ID of the reaction
reaction - CauseActivityReactionType! Type of reaction
accountActor - Actor Actor that performed the reaction

Example

{
  "id": "4",
  "reaction": "COMMENT",
  "accountActor": Anonymous
}

CauseActivityReactionCount

Description

Reaction count for an activity

Fields

Field Name Description
reaction - CauseActivityReactionType!
count - Int!

Example

{"reaction": "COMMENT", "count": 123}

CauseActivityReactionType

Description

Reaction type for an activity

Values

Enum Value Description

COMMENT

CARE

HOPE

INSPIRING

SENDING_LOVE

SUPPORTING_YOU

SYMPATHIES

Example

"COMMENT"

CauseDonationActivity

Fields

Field Name Description
id - ID!
actor - CauseActivityActor! No longer supported
accountActor - Actor
createdAt - DateTime!
type - CauseActivityFeedGroup!
reactionCounts - [CauseActivityReactionCount!]
ownReactions - [CauseActivityReaction!]
fundraiser - Fundraiser
donations - [Donation!]

Example

{
  "id": "4",
  "actor": CauseActivityActor,
  "accountActor": Anonymous,
  "createdAt": "2007-12-03T10:15:30Z",
  "type": "EDITORIAL_IMPACTS",
  "reactionCounts": [CauseActivityReactionCount],
  "ownReactions": [CauseActivityReaction],
  "fundraiser": Fundraiser,
  "donations": [Donation]
}

CauseEdge

Fields

Field Name Description
cursor - String
node - Cause

Example

{
  "cursor": "abc123",
  "node": Cause
}

CauseFollowerOrder

Values

Enum Value Description

FOLLOWED_AT

Example

"FOLLOWED_AT"

CauseFundraiserFilterType

Values

Enum Value Description

CLOSE_TO_GOAL

JUST_LAUNCHED

NEEDS_SUPPORT

Example

"CLOSE_TO_GOAL"

CausePostActivity

Description

Post activity in the cause

Fields

Field Name Description
id - ID!
actor - CauseActivityActor! No longer supported
accountActor - Actor
createdAt - DateTime!
type - CauseActivityFeedGroup!
title - String
text - String
fundraiser - Fundraiser
reactionCounts - [CauseActivityReactionCount!]
ownReactions - [CauseActivityReaction!]
assets - [CauseActivityAsset!]

Example

{
  "id": 4,
  "actor": CauseActivityActor,
  "accountActor": Anonymous,
  "createdAt": "2007-12-03T10:15:30Z",
  "type": "EDITORIAL_IMPACTS",
  "title": "xyz789",
  "text": "xyz789",
  "fundraiser": Fundraiser,
  "reactionCounts": [CauseActivityReactionCount],
  "ownReactions": [CauseActivityReaction],
  "assets": [CauseActivityAsset]
}

CauseStats

Fields

Field Name Description
totalFundraisers - Int! Total number of fundraisers in this cause
totalDonations - Int! Total number of donations across all fundraisers in this cause
totalDonationAmount - Money! Total donation amount across all fundraisers in this cause
totalDonors - Int! Total number of unique donors across all fundraisers in this cause
totalPeopleWhoHaveShared - Int! Total number of people who have shared fundraisers in this cause
totalSupporters - Int! Combination of donors and people who have shared fundraisers in this cause
goalsMet - Int! Number of fundraiser goals for a cause that have been met
charitiesBenefited - Int! Number of charities that have benefited from this cause
createdAt - DateTime! When these stats were created
updatedAt - DateTime When these stats were last updated

Example

{
  "totalFundraisers": 987,
  "totalDonations": 123,
  "totalDonationAmount": Money,
  "totalDonors": 987,
  "totalPeopleWhoHaveShared": 123,
  "totalSupporters": 987,
  "goalsMet": 123,
  "charitiesBenefited": 123,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

CausesConnection

Fields

Field Name Description
edges - [CauseEdge]
pageInfo - PageInfo!

Example

{
  "edges": [CauseEdge],
  "pageInfo": PageInfo
}

CausesFilter

Description

Filters for causes being fetched

Fields

Input Field Description
causes - [String] List of cause slugs that should be included

Example

{"causes": ["abc123"]}

Charity

Description

Describes a registered charity that a fundraiser can raise money for

Fields

Field Name Description
id - ID!
npoId - String
ein - String
name - String
categoryCode - String
description - String
city - String
state - String
country - String
zipCode - String
addressLine1 - String
logo - CharityPhoto
slug - String
paypalActivationStatus - Int
paypalEnrollmentStatus - Int
defaultFundId - ID
isSeoIndexable - Boolean
status - CharityStatus
verifiedAt - DateTime
allowsFundraiserCreation - Boolean
details - CharityDetails Charity organization detail
socials - CharitySocial Charity socials links
donations - DonationConnection List of donations by charity
Arguments
first - Int
last - Int
before - String
after - String
order - DonationOrder
recentDonations - DonationConnection List of donations by charity's top 10 funds by last donation date
Arguments
first - Int
last - Int
before - String
after - String
order - DonationOrder
fundraisers - FundraiserConnection List of fundraisers, optional list based on charityOrganized flag
Arguments
charityOrganized - Boolean
first - Int
last - Int
before - String
after - String
order - FundraiserOrder
charityAggregates - CharityAggregates Total aggregates by charityId
showFeatures - ShowFeatures Flags to control whether or not certain sections of an NPO page should be shown. These flags can be edited by the charity admin
fundraiserCategory - FundraiserCategory The fundraiser category most applicable to this charity. Used to automatically select the category when creating a one-click fundraiser from the NPO page
fundraiserDefaultPhotos - [FundraiserPhoto] The default photos available for use as the campaign photo in one-click fundraiser creation from the NPO page
Arguments
momentType - CharityFundMomentType

Type of charity moment to get specific photos for. Defaults to CLASSIC if not specified. @deprecated(reason: "Use 'charityFundraiserMomentType' field instead to allow more moments in the future.")

charityFundraiserMomentType - String

Type of moment to check for. If null, uses default CLASSIC. Alternate to momentType enum which will be deprecated in the future

allFundraiserCoverPhotoOptions - [CharityFundraiserPhotoWrapper!] Gets all fundraiser cover photos available for the one click fund create feature for a given NPO. This includes NPO-specific images either uploaded by the NPO admin or generated by AI on their behalf. It will include all moment type photos as well. If visibilityMode is set to PERMISSIVE, it will return images with HIDDEN and REPORTED statuses. It will also include default images when NPO has opted out, but with the adminOnlyHiddenPreview flag set to true
Arguments
visibilityMode - CharityFundraiserCoverPhotoVisibilityMode

The request is from the admin page view

getIncludeDefaultPhotos - Boolean Get the includeDefaultPhotos field from charity community preferences. This field is only available to charity admins
shouldIncludeInRecommendations - Boolean! Get whether the charity should be included in recommendations. Returns true by default when no preferences exist
currencyCode - String Currency code for the charity

Example

{
  "id": 4,
  "npoId": "xyz789",
  "ein": "abc123",
  "name": "abc123",
  "categoryCode": "xyz789",
  "description": "xyz789",
  "city": "abc123",
  "state": "xyz789",
  "country": "abc123",
  "zipCode": "abc123",
  "addressLine1": "xyz789",
  "logo": CharityPhoto,
  "slug": "xyz789",
  "paypalActivationStatus": 987,
  "paypalEnrollmentStatus": 123,
  "defaultFundId": 4,
  "isSeoIndexable": false,
  "status": "INACTIVE",
  "verifiedAt": "2007-12-03T10:15:30Z",
  "allowsFundraiserCreation": false,
  "details": CharityDetails,
  "socials": CharitySocial,
  "donations": DonationConnection,
  "recentDonations": DonationConnection,
  "fundraisers": FundraiserConnection,
  "charityAggregates": CharityAggregates,
  "showFeatures": ShowFeatures,
  "fundraiserCategory": "EMERGENCIES",
  "fundraiserDefaultPhotos": [FundraiserPhoto],
  "allFundraiserCoverPhotoOptions": [
    CharityFundraiserPhotoWrapper
  ],
  "getIncludeDefaultPhotos": false,
  "shouldIncludeInRecommendations": true,
  "currencyCode": "xyz789"
}

CharityAggregates

Fields

Field Name Description
totalDonations - Int
totalDonated - [Money]
totalFundraisers - Int

Example

{
  "totalDonations": 987,
  "totalDonated": [Money],
  "totalFundraisers": 987
}

CharityDetails

Fields

Field Name Description
ein - String
nteeCode - String
nteeDescription - String
mission - String
pcsPopulation - [String]
pcsSubjectTran - [String]
rulingYr - Float

Example

{
  "ein": "xyz789",
  "nteeCode": "xyz789",
  "nteeDescription": "abc123",
  "mission": "abc123",
  "pcsPopulation": ["abc123"],
  "pcsSubjectTran": ["xyz789"],
  "rulingYr": 987.65
}

CharityDonationsFilter

Fields

Input Field Description
dateFrom - DateTime start publishedAt date (inclusive)
dateTo - DateTime end publishedAt date (not inclusive)

Example

{
  "dateFrom": "2007-12-03T10:15:30Z",
  "dateTo": "2007-12-03T10:15:30Z"
}

CharityFilter

Description

Fields for filtering a list of charities

Fields

Input Field Description
countryCode - CountryCode Country a charity was started in
activeNpoPageOnly - Boolean Filter for charities with active NPO pages. If true, returns only charities with active NPO pages. If false or null, returns all charities regardless of NPO page status

Example

{
  "countryCode": "US",
  "activeNpoPageOnly": false
}

CharityFundMomentType

Description

The type of moment for charity fundraisers

Values

Enum Value Description

BIRTHDAY

Birthday charity fundraiser

CLASSIC

Standard charity fundraiser with no specific moment type

GRADUATION

Graduation charity fundraiser

MEMORIAL

Memorial charity fundraiser

WEDDING

Wedding charity fundraiser

Example

"BIRTHDAY"

CharityFundraiserCoverPhotoVisibilityMode

Values

Enum Value Description

STANDARD

Default visibility that includes active and approved photos

PERMISSIVE

Visibility that includes all photos This includes hidden, reported, and opted-out default images

Example

"STANDARD"

CharityFundraiserFilter

Fields

Input Field Description
dateFrom - DateTime start publishedAt date (inclusive)
dateTo - DateTime end publishedAt date (not inclusive)

Example

{
  "dateFrom": "2007-12-03T10:15:30Z",
  "dateTo": "2007-12-03T10:15:30Z"
}

CharityFundraiserPhotoStatus

Description

The status of an NPO fundraiser cover photo

Values

Enum Value Description

ACTIVE

The photo is active and can be viewed by all users

HIDDEN

The photo is hidden and can only be viewed by charity admins

REPORTED

The photo is reported and may be viewed by charity admins

Example

"ACTIVE"

CharityFundraiserPhotoWrapper

Description

Wrapper for FundraiserPhoto that includes the status of the photo

Fields

Field Name Description
photo - FundraiserPhoto! The photo itself
status - CharityFundraiserPhotoStatus The status of the photo - ACTIVE, HIDDEN, or REPORTED
npoPhotoId - ID The unique identifier for the photo in the npo photos table
adminOnlyHiddenPreview - Boolean Photo is only visible to npo admins and should be shown in a hidden preview state

Example

{
  "photo": FundraiserPhoto,
  "status": "ACTIVE",
  "npoPhotoId": "4",
  "adminOnlyHiddenPreview": true
}

CharityPhoto

Fields

Field Name Description
url - Url
scaled - CharityPhotoScaled
intrinsicSize - CharityPhotoIntrinsicSize Deprecated for performance reasons

Example

{
  "url": Url,
  "scaled": CharityPhotoScaled,
  "intrinsicSize": CharityPhotoIntrinsicSize
}

CharityPhotoIntrinsicSize

Fields

Field Name Description
height - Int
width - Int

Example

{"height": 123, "width": 123}

CharityPhotoScaled

Fields

Field Name Description
threeByTwo120 - Url
oneByOne120 - Url
sixteenByNine720 - Url

Example

{
  "threeByTwo120": Url,
  "oneByOne120": Url,
  "sixteenByNine720": Url
}

CharitySelectInput

Description

Input for selecting a Charity when creating or updating a Fundraiser. If a charity is provided, a user will not be able to withdraw funds to their own bank account. Instead, the funds will go directly to the Charity. A charity may be referenced though its id, which is a GoFundMe id. Or, it may be referenced through its PayPal Nonprofit id. Supplying multiple values in this input, e.g. a value for both "id" and "paypalNonprofitId", is invalid and will return an error

Fields

Input Field Description
id - ID The GoFundMe id of the Charity that will be receiving the proceeds of this fundraiser
paypalNonprofitId - ID The PayPal Nonprofit id of the Charity that will be receiving the proceeds of this fundraiser
momentType - CharityFundMomentType The type of moment associated with this charity fundraiser. Only applicable when creating a fundraiser for a specific charity moment/campaign @deprecated(reason: "Use 'charityFundraiserMomentType' field instead to allow more moments in the future.")
charityFundraiserMomentType - String Type of moment to check for. If null, uses default CLASSIC. Alternate to momentType enum which will be deprecated in the future. Default = "CLASSIC"

Example

{
  "id": 4,
  "paypalNonprofitId": 4,
  "momentType": "BIRTHDAY",
  "charityFundraiserMomentType": "abc123"
}

CharitySocial

Fields

Field Name Description
facebook - Url
instagram - Url
linkedin - Url
twitter - Url Use 'x' instead.
youtube - Url
website - Url
tiktok - Url
candid - Url
charityNavigator - Url
blueSky - Url
twitch - Url
discord - Url
threads - Url
custom - Url
x - Url

Example

{
  "facebook": Url,
  "instagram": Url,
  "linkedin": Url,
  "twitter": Url,
  "youtube": Url,
  "website": Url,
  "tiktok": Url,
  "candid": Url,
  "charityNavigator": Url,
  "blueSky": Url,
  "twitch": Url,
  "discord": Url,
  "threads": Url,
  "custom": Url,
  "x": Url
}

CharityStatus

Values

Enum Value Description

INACTIVE

ACTIVE

HIDDEN

BANNED

UNKNOWN

Example

"INACTIVE"

CoOrganizerConnection

Description

Contains the list of co-organizers and pagination information

Fields

Field Name Description
edges - [CoOrganizerEdge] A list of edges containing the co-organizers and cursor information
pageInfo - PageInfo! Information to aid in pagination, including hasNextPage and hasPreviousPage flags

Example

{
  "edges": [CoOrganizerEdge],
  "pageInfo": PageInfo
}

CoOrganizerEdge

Description

Contains the cursor and node information for a co-organizer

Fields

Field Name Description
cursor - String A cursor for use in pagination, representing the position of this edge in the connection
node - TeamMember The co-organizer node at this position in the connection

Example

{
  "cursor": "abc123",
  "node": TeamMember
}

CoOrganizerInvite

Description

Represents an invitation sent to a potential co-organizer for a fundraiser

Fields

Field Name Description
id - ID Unique identifier for the invitation
teamId - ID Identifier for the team associated with this invitation
invitedAddress - String Email address or phone number of the person invited to be a co-organizer
invitedAddressType - Int Type of the invited address: 0 = Email, 1 = Phone number, 2 = Magic link
invitationUrl - String URL that the invitee can use to accept the invitation
status - Int Current status of the invitation: 0 = Inactive, 1 = Active, 2 = Accepted
createdAt - DateTime Timestamp when the invitation was created
updatedAt - DateTime Timestamp when the invitation was last updated
lastSentAt - DateTime Timestamp when the invitation was last sent to the invitee

Example

{
  "id": 4,
  "teamId": 4,
  "invitedAddress": "xyz789",
  "invitedAddressType": 123,
  "invitationUrl": "abc123",
  "status": 987,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "lastSentAt": "2007-12-03T10:15:30Z"
}

CoachingActionItem

Description

An action item represents a call-to-action that GoFundMe is recommending a user take

Fields

Field Name Description
id - ID! The unique identifier for the action item
createdAt - DateTime The timestamp indicating when this action item event was created. Represented as milliseconds since the Unix epoch
kind - CoachingActionItemKind The kind of this action item
contextMetadata - CoachingActionItemMetadata Other metadata values related to actions a user can take for this action item
context - CoachingActionItemContext The product context under which the action item is applicable
events - [CoachingActionItemEvent] The user interaction events for this action item

Example

{
  "id": "4",
  "createdAt": "2007-12-03T10:15:30Z",
  "kind": CoachingActionItemKind,
  "contextMetadata": ContactNudgeTextActionData,
  "context": "FUNDRAISER",
  "events": [CoachingActionItemEvent]
}

CoachingActionItemCategory

Description

Categories for action items

Values

Enum Value Description

SHARING

DONOR_ENGAGEMENT

CONTENT_MANAGEMENT

FUNDRAISER_MANAGEMENT

Example

"SHARING"

CoachingActionItemContext

Description

The product context under which the action item is applicable

Values

Enum Value Description

FUNDRAISER

Indicates the action item is relevant to managing a specific fundraiser

CONTACTS

Indicates the action item is relevant to sharing with contacts / connected accounts

Example

"FUNDRAISER"

CoachingActionItemContextInput

Description

The product context under which the action item is applicable (Input)

Values

Enum Value Description

FUNDRAISER

Indicates the action item is relevant to managing a specific fundraiser

CONTACTS

Indicates the action item is relevant to sharing with contacts / connected accounts

Example

"FUNDRAISER"

CoachingActionItemEvent

Description

A user interaction event with a coaching action item

Fields

Field Name Description
id - ID! The unique identifier for the action item interaction
createdAt - DateTime The timestamp indicating when this action item interaction was created
kind - CoachingActionItemEventKind The kind of interaction

Example

{
  "id": "4",
  "createdAt": "2007-12-03T10:15:30Z",
  "kind": "SEEN"
}

CoachingActionItemEventKind

Description

Represents the kind of user interaction with a coaching action item

Values

Enum Value Description

SEEN

The user has seen this action item

TAPPED

The user has initially tapped/clicked this action item to view the details

DISMISSED

The user has interacted with an element, like a button, that indicates a completion of this action item

COMPLETED

The user has completed the action item

Example

"SEEN"

CoachingActionItemFilterInput

Description

Filters for coaching action items

Fields

Input Field Description
context - CoachingActionItemContextInput! The product context under which the action item is applicable
fundraiserId - ID The fundraiser that this action item applies to

Example

{"context": "FUNDRAISER", "fundraiserId": 4}

CoachingActionItemKind

Fields

Field Name Description
id - CoachingActionItemKindId The kind of this action item
category - CoachingActionItemCategory The category this action item belongs to
objective - CoachingActionItemObjective The objective this action item serves
description - String Description of the action item

Example

{
  "id": "SHARE_CLOSE_CONTACTS",
  "category": "SHARING",
  "objective": "TRAFFIC_DRIVING",
  "description": "abc123"
}

CoachingActionItemKindId

Description

The kind of action item that can be recommended

Values

Enum Value Description

SHARE_CLOSE_CONTACTS

SHARE_FACEBOOK

SHARE_INSTAGRAM_STORY

SHARE_INSTAGRAM_POST

SHARE_TIKTOK

SHARE_LINKEDIN

SHARE_TWITTER

INVITE_COORGANIZER

REACH_HIGH_VALUE_DONORS

REACH_DIFFERENT_CONTACTS

SHARE_DIFFERENT_PLATFORM

POST_UPDATE

CREATE_MILESTONE_UPDATE

THANK_DONORS

CHANGE_IMAGES

ADD_IMAGES

REWRITE_STORY

REWRITE_TITLE

ENABLE_SMART_GOALS

ADD_COORGANIZER

SETUP_TRANSFERS

SETUP_PROFILE

DOWNLOAD_APP

Example

"SHARE_CLOSE_CONTACTS"

CoachingActionItemMetadata

Description

Union type for Action Variables metadata

Example

ContactNudgeTextActionData

CoachingActionItemObjective

Description

Objectives for action items

Values

Enum Value Description

TRAFFIC_DRIVING

CONVERSION_DRIVING

FUNDRAISER_MANAGEMENT

Example

"TRAFFIC_DRIVING"

CoachingTask

Description

Coaching task name and completed flag

Fields

Field Name Description
taskName - CoachingTaskName!
completed - Boolean!

Example

{"taskName": "SHARE_CLOSE", "completed": true}

CoachingTaskCategory

Values

Enum Value Description

BOOST

SHARE

TEAM

UPDATE

Example

"BOOST"

CoachingTaskCollection

Description

List of coaching tasks for a given category

Fields

Field Name Description
categoryName - CoachingTaskCategory!
tasks - [CoachingTask!]!

Example

{"categoryName": "BOOST", "tasks": [CoachingTask]}

CoachingTaskName

Values

Enum Value Description

SHARE_CLOSE

SHARE_ONLINE

SHARE_OFFLINE

SHARE_NEIGHBOR

BOOST_LEARN

BOOST_PARTIFUL

BOOST_PROF_PHOTO

BOOST_STORY_COST

BOOST_STORY_MEDIA

BOOST_STORY_PROOFREAD

TEAM_LEARN

TEAM_FIRST

TEAM_MORE

UPDATE_INTRO_CARD

UPDATE_LEARN

UPDATE_SPEND_CO

UPDATE_SPEND_BENE

UPDATE_SPEND_TM

UPDATE_LATEST

Example

"SHARE_CLOSE"

CoachingTipName

Values

Enum Value Description

SHARE_CLOSE_CONTACTS

SHARE_GEN_AI

SHARE_EARLY

SHARE_INSTA_POST

SHARE_TIK_TOK

SHARE_RELATE

SHARE_CLOSEST

SHARE_WEEKDAYS

SHARE_VIDEOS

SHARE_ASK_FRIEND

SHARE_PUBLIC_THANK

SHARE_SPECIFIC_AMT

SHARE_OTHER_HELP

SHARE_ASK_DONORS

SHARE_INSTA_STORIES

SHARE_DONOR_TAG

SHARE_FOLLOW_UP

SHARE_EXTEND_SHARE

SHARE_CAFE

SHARE_LOCAL

SHARE_PUB_GROUPS

SHARE_COPY_LINK

SHARE_NEWS

SHARE_EVERGREEN

GOAL_ADJUST_REACHED

GOAL_ADJUST_75

GOAL_ADJUST_25

GOAL_ADJUST_10

UPDATE_UPDATE_EXISTING_DONORS

UPDATE_WEEKLY_REMINDER

UPDATE_MILESTONE_25

UPDATE_MILESTONE_50

UPDATE_MILESTONE_75

UPDATE_MILESTONE_100

UPDATE_SHARE_LATEST

ZERO_FOUNDING

ZERO_SMALL

THANK_AUTO

THANK_UNTHANKED_2BELOW

THANK_UNTHANKED_3PLUS

THANK_UNTHANKED_10PLUS

TEAM_REMIND_ACCEPT

TEAM_REMIND_ACCEPT_BIGGER

PARTNER_EDIT_CLAIMED_FUNDRAISER

Example

"SHARE_CLOSE_CONTACTS"

Comment

Fields

Field Name Description
id - ID!
photos - [Photo!]!
donation - Donation!
text - String!
status - CommentStatus!
createdAt - DateTime
authorFirstName - String
authorLastName - String
authorProfilePhoto - Url

Example

{
  "id": "4",
  "photos": [Photo],
  "donation": Donation,
  "text": "xyz789",
  "status": "DELETED",
  "createdAt": "2007-12-03T10:15:30Z",
  "authorFirstName": "abc123",
  "authorLastName": "xyz789",
  "authorProfilePhoto": Url
}

CommentConnection

Fields

Field Name Description
edges - [CommentEdge]
pageInfo - PageInfo!

Example

{
  "edges": [CommentEdge],
  "pageInfo": PageInfo
}

CommentEdge

Fields

Field Name Description
cursor - String
node - Comment

Example

{
  "cursor": "xyz789",
  "node": Comment
}

CommentStatus

Values

Enum Value Description

DELETED

ACTIVE

Example

"DELETED"

CommunityConfiguration

Description

Configuration for a cause/community page

Fields

Field Name Description
communityName - String Name of the community
communityAvatar - CommunityPhoto Avatar image for the community
sections - CommunityConfigurationSections Page sections with relevant subsections for community

Example

{
  "communityName": "abc123",
  "communityAvatar": CommunityPhoto,
  "sections": CommunityConfigurationSections
}

CommunityConfigurationHeroSection

Description

Hero section for community configuration

Fields

Field Name Description
images - [CommunityPhoto!] List of images for the hero section
avatars - [CommunityPhoto!] List of avatars for the hero section

Example

{
  "images": [CommunityPhoto],
  "avatars": [CommunityPhoto]
}

CommunityConfigurationImpactSection

Description

Impact section for community configuration

Fields

Field Name Description
images - [CommunityPhoto!] List of images for the impact section
about - CommunityConfigurationImpactSectionAbout About section
endorsers - CommunityConfigurationImpactSectionEndorsers Endorsers section

Example

{
  "images": [CommunityPhoto],
  "about": CommunityConfigurationImpactSectionAbout,
  "endorsers": CommunityConfigurationImpactSectionEndorsers
}

CommunityConfigurationImpactSectionAbout

Description

About section for community configuration

Fields

Field Name Description
description - String Description for the about section

Example

{"description": "abc123"}

CommunityConfigurationImpactSectionEndorsers

Description

Endorsers section for community configuration

Fields

Field Name Description
avatars - [CommunityPhoto!] List of avatars for the endorsers section

Example

{"avatars": [CommunityPhoto]}

CommunityConfigurationSections

Description

Page sections with relevant subsections for community

Fields

Field Name Description
hero - CommunityConfigurationHeroSection Hero section
impact - CommunityConfigurationImpactSection Impact section

Example

{
  "hero": CommunityConfigurationHeroSection,
  "impact": CommunityConfigurationImpactSection
}

CommunityPhoto

Description

Photo for community configuration

Fields

Field Name Description
url - String! URL for the photo
altText - String Alt text for the photo

Example

{
  "url": "xyz789",
  "altText": "abc123"
}

ContactActivityLabel

Values

Enum Value Description

Contacted

Donated

Example

"Contacted"

ContactNudgeTextActionData

Description

Action metadata for following up on a Nudge Text Suggestion

Fields

Field Name Description
preselected - [PreselectedContactData] List of Suggestion preselected contacts
channel - ContactShareChannel Channel used by the Suggestion for sharing to contacts

Example

{
  "preselected": [PreselectedContactData],
  "channel": "SMS"
}

ContactProvider

Values

Enum Value Description

Apple

Google

Facebook

LinkedIn

Mobile

Example

"Apple"

ContactRecipient

Fields

Field Name Description
id - ID!
firstName - String
lastName - String
channel - ContactShareChannel!
value - String!
photoUrl - String
provider - ContactProvider!
activityLabel - ContactActivityLabel
Arguments
fundraiserId - Int

Example

{
  "id": "4",
  "firstName": "abc123",
  "lastName": "abc123",
  "channel": "SMS",
  "value": "xyz789",
  "photoUrl": "xyz789",
  "provider": "Apple",
  "activityLabel": "Contacted"
}

ContactRecipientConnection

Fields

Field Name Description
edges - [ContactRecipientsEdge]
pageInfo - PageInfo!

Example

{
  "edges": [ContactRecipientsEdge],
  "pageInfo": PageInfo
}

ContactRecipientFilter

Fields

Input Field Description
channel - ContactShareChannel
query - String
provider - ContactProvider

Example

{
  "channel": "SMS",
  "query": "xyz789",
  "provider": "Apple"
}

ContactRecipientsEdge

Fields

Field Name Description
cursor - String
node - ContactRecipient

Example

{
  "cursor": "xyz789",
  "node": ContactRecipient
}

ContactShareChannel

Description

Organizers can share their fundraisers with contacts through these communication channels

Values

Enum Value Description

SMS

EMAIL

Example

"SMS"

ContactsImportStatus

Values

Enum Value Description

NOT_STARTED

IN_PROGRESS

COMPLETED

FAILED

Example

"NOT_STARTED"

ContactsOrder

Values

Enum Value Description

NAME

Example

"NAME"

Coordinates

Fields

Field Name Description
latitude - Decimal
longitude - Decimal

Example

{
  "latitude": Decimal,
  "longitude": Decimal
}

CountryCode

Example

"US"

CreditCardContent

Fields

Field Name Description
last4 - String do not use it. It is not being populated

Example

{"last4": "abc123"}

CurrencyCode

Description

A representation of the currencies in which GoFundMe supports fundraisers raising money

Values

Enum Value Description

AUD

EUR

CAD

CHF

DKK

GBP

MXN

NOK

SEK

USD

Example

"AUD"

CustomPromptResult

Description

Response containing the AI generation result and task information

Fields

Field Name Description
response - String The AI-generated response data Will be null while task is pending or if there was an error
task - GenAiAsyncTask Task information

Example

{
  "response": "abc123",
  "task": GenAiAsyncTask
}

Date

Example

"2007-12-03"

DateTime

Example

"2007-12-03T10:15:30Z"

Decimal

Example

Decimal

DesignatedRecipient

Description

Info about partner designated recipient

Fields

Field Name Description
id - ID Recipient identifier
name - String Recipient name
logoURL - Url Public url to the recipient's logo image

Example

{
  "id": "4",
  "name": "abc123",
  "logoURL": Url
}

DesignatedRecipientInput

Description

The partner designated recipient

Fields

Input Field Description
recipientId - ID! Identifier for the designated recipient

Example

{"recipientId": 4}

Donation

Description

A donation to a given fundraiser made by a donor

Fields

Field Name Description
ppgfTransactionId - ID The PPGF (PayPal Giving Fund) transaction ID. Only available to partners for donations to charity fundraisers attributed to the partner
id - ID!
checkoutId - ID A reference to the donation within GoFundMe's payments system
amount - Money! The amount of money donated to a fundraiser
isOffline - Boolean! An indicator whether the donation was processed offline, i.e. not through GoFundMe's Payments Rails
isAnonymous - Boolean! An indicator whether the donation was made anonymously, any anonymous donation should have an empty name field and an empty profileUrl field
createdAt - DateTime! The timestamp of the donor donating to the fundraiser
name - String! The name of the donor donating to the fundraiser. When isAnonymous is true, name must be the string 'Anonymous'
profileUrl - Url The Facebook profile URL for the donor. When isAnonymous is true, profileUrl must be empty
isVerified - Boolean! An indicator that the donation was completed and counts towards the fundraisers balance
fundraiser - Fundraiser The fundraiser to which this donation was made
encryptedDonationId - String Encoded encrypted donation id
isRecurring - Boolean Indicate if the donation is a recurring donation
scheduledPaymentUuid - String scheduled payment uuid that is used to access the donation scheduled configuration
tip - Tip An optional tip for GoFundMe
photos - [Photo] photos associated with a donation
comment - Comment comment associated with a donation
hasEmail - Boolean Indicates if the donation has a related donor email or not
thankYous - [DonationThankYou] Thank you messages associated with the donation
transactionId - ID Transaction id from payment-processor
refundedAt - DateTime The datetime the donation was refunded (null if it has not been refunded)
donorEmail - String The email address of the donor
ipAddress - String IP address of the donor
refundNote - String Note associated withe the donation refund
deviceFingerprint - String Fingerprint of the device used to make the donation
hiddenDonationAmount - Boolean Whether the donation amount is hidden from the fundraiser page
donorProfile - Profile The GFM profile information for the donor. When isAnonymous is true, profile must be null
giftAidConsent - Boolean Whether the donor has consented to allocate a portion of their donation towards Gift Aid
paymentStatus - String The status of the payment tied to the donation

Example

{
  "ppgfTransactionId": "4",
  "id": "4",
  "checkoutId": "4",
  "amount": Money,
  "isOffline": true,
  "isAnonymous": true,
  "createdAt": "2007-12-03T10:15:30Z",
  "name": "abc123",
  "profileUrl": Url,
  "isVerified": false,
  "fundraiser": Fundraiser,
  "encryptedDonationId": "abc123",
  "isRecurring": false,
  "scheduledPaymentUuid": "abc123",
  "tip": Tip,
  "photos": [Photo],
  "comment": Comment,
  "hasEmail": false,
  "thankYous": [DonationThankYou],
  "transactionId": 4,
  "refundedAt": "2007-12-03T10:15:30Z",
  "donorEmail": "xyz789",
  "ipAddress": "xyz789",
  "refundNote": "xyz789",
  "deviceFingerprint": "xyz789",
  "hiddenDonationAmount": false,
  "donorProfile": Profile,
  "giftAidConsent": true,
  "paymentStatus": "abc123"
}

DonationConnection

Fields

Field Name Description
edges - [DonationEdge]
pageInfo - PageInfo!

Example

{
  "edges": [DonationEdge],
  "pageInfo": PageInfo
}

DonationEdge

Fields

Field Name Description
cursor - String
node - Donation

Example

{
  "cursor": "abc123",
  "node": Donation
}

DonationFilterInput

Description

Fields for filtering a list of Donation

Fields

Input Field Description
isReplied - Boolean Is a Donation replied. A replied Donation has a thank you note related to it
includeRefunds - Boolean Whether to include refunded donations

Example

{"isReplied": false, "includeRefunds": false}

DonationOrder

Values

Enum Value Description

CREATED_AT

AMOUNT

Example

"CREATED_AT"

DonationThankYou

Description

A thank you message sent for a donation

Fields

Field Name Description
donationId - ID The ID of the donation this thank you message is associated with
message - String The content of the thank you message
createdAt - DateTime The timestamp when the thank you message was created
type - ThankYouCategory The type of thank you message
author - ThankYouAuthor The author of the thank you message

Example

{
  "donationId": 4,
  "message": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "type": "EMAIL",
  "author": ThankYouAuthor
}

EmailInfo

Fields

Field Name Description
email - String! Email address
verified - Boolean! Is the email verified
consent - Consent! Information about the user's consent to be contacted via email please use PersonConsent

Example

{
  "email": "xyz789",
  "verified": false,
  "consent": Consent
}

ExpectedBeneficiaryRelation

Description

The intended relationship of the organizer of the fundraiser to the beneficiary of the fundraiser. This field only indicates an intention at the time of fundraiser creation. It is not indicative of who the actual beneficiary is

Values

Enum Value Description

YOURSELF

The person who created the fundraiser intends to be one receiving the funds

SOMEONE_ELSE

The person who created the fundraiser intends for someone else to receive the funds

CHARITY

The person who created the fundraiser intends to fundraiser for charity. I.e. the charity will be directly receiving the funds

Example

"YOURSELF"

Experiment

Description

A simple key-value pair that maps an experiment key to a variant

Fields

Input Field Description
key - String! The experiment key
variant - String! The variant to which the user is assigned

Example

{
  "key": "abc123",
  "variant": "xyz789"
}

Feed

Fields

Field Name Description
id - ID! The unique ID of the feed
activities - ActivityConnection The activities within the feed
Arguments
first - Int
last - Int
before - String
after - String
order - ActivityOrder

Example

{"id": 4, "activities": ActivityConnection}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754

Example

123.45

Follower

Description

A follower is a person that follows a given entity

Fields

Field Name Description
id - ID!
name - String
profileUrl - String
profile - Profile
followedAt - DateTime

Example

{
  "id": "4",
  "name": "xyz789",
  "profileUrl": "abc123",
  "profile": Profile,
  "followedAt": "2007-12-03T10:15:30Z"
}

FollowerConnection

Fields

Field Name Description
edges - [FollowerEdge]
pageInfo - PageInfo!
hasHiddenItems - Boolean Indicates if some follower was not retrieved in the following/followers list due to being blocker/blocked from the viewer

Example

{
  "edges": [FollowerEdge],
  "pageInfo": PageInfo,
  "hasHiddenItems": false
}

FollowerEdge

Fields

Field Name Description
cursor - String
node - Follower

Example

{
  "cursor": "xyz789",
  "node": Follower
}

FollowerOrder

Values

Enum Value Description

FOLLOWED_AT

Example

"FOLLOWED_AT"

Fundraiser

Description

A Fundraiser is an Entity that allows Fundraiser Organizers to raise money for themselves or others from Donors

Fields

Field Name Description
deprecatedNestedField - String test nested field
id - ID! A unique identifier for the fundraiser
fundId - ID! The fundraiser's unique, stable id
autoFbPostMode - Boolean!
expectedBeneficiaryRelation - ExpectedBeneficiaryRelation Who the organizer of the fundraiser originally expected to receive the funds. E.g. "Yourself", "Someone else", or "Charity". This value does not represent who is actually receiving the funds, just an intent at the time the fundraiser was created
myRelationships - [FundraiserRelationship!] The current user's relationship to the fundraiser
categoryId - ID The categoryId of the fundraiser. Used for legacy purposes Use the 'category' field.
category - FundraiserCategory The category of the fundraiser
topCause - Cause The primary Cause associated with this fundraiser, based on the highest ranking category prediction
charity - Charity Information about the charity beneficiary of the fundraiser if there is one
currentAmount - Money The current amount of money raised for a fundraiser
defaultUrl - String Use the 'defaultSlug' field.
defaultSlug - String
donationCount - Int!
commentsEnabled - Boolean An indicator for whether donors are able to make comments on the fundraiser
donationsEnabled - Boolean An indicator for whether donors are able to make donations to the fundraiser
smartGoalsEnabled - Boolean An indicator for whether smart goals are enabled on the fundraiser. If null, the organizer has not opted into smart goals, which will mean smart goals are disabled Use the 'smartGoalsOptIn' field
smartGoalsOptIn - SmartGoalsOptInState An indicator for whether smart goals are enabled/disabled on the fundraiser. If in the not eligible state, the organizer has not opted into smart goals, which will mean smart goals are disabled
videoSharingEnabled - Boolean A setting that controls whether or not Video Sharing is enabled If enabled, an AI generated video will be created and shareable in the sharesheet. If disabled, no video will be generated
aiShareTextEnabled - Boolean A setting that controls whether or not GenAI Suggested Share Text is enabled If enabled, the sharesheet will automatically generate share text for the user. If disabled, the sharesheet will use hardcoded fallback text
posterSharingEnabled - Boolean A setting that controls whether or not Poster Sharing is enabled If enabled, the sharesheet will allow poster sharing for the user. If disabled, the sharesheet will not allow poster sharing for the user
areCollectionsDisplayed - Boolean A setting that controls if a fundraiser page shows collections of related fundraisers. This settings affects the UI of the fundraiser page. If enabled, the fundraiser page will show collections of related fundraisers. If disabled, the fundraiser page will not show collections of related fundraisers
isUkraineFlow - Boolean An indicator for whether the fund has the ukraine flow active
enableContact - Boolean An indicator for whether the Contact Organizer feature should be present
isGfmDotOrgFund - Boolean An indicator for whether the fund is a GFM.org fund
hasDonations - Boolean An indicator for whether the fundraiser has received any donations
hasGfmOrgDonation - Boolean An indicator for whether the fundraiser has received any donations from GoFundMe.org
fundDescription - String Fundraiser organizer supplied description of the fundraiser Use the 'description' field.
Arguments
excerpt - Boolean

Flag to specify whether to return an excerpt of the description; defaults to false

description - String! Fundraiser organizer supplied description of the fundraiser, in HTML
Arguments
excerpt - Boolean

Flag to specify whether to return an excerpt of the description; defaults to false

fundName - String! Fundraiser organizer supplied name for the fundraiser Use the 'title' field.
title - String! Fundraiser organizer supplied title for the fundraiser
goalAmount - Money Displayed goal amount for the fundraiser
userDefinedGoalAmount - Money Fundraiser organizer supplied goal amount for the fundraiser
goalDeadline - DateTime Fundraiser organizer supplied deadline for raising funds for the fundraiser Use the 'serviceDate' field.
deadline - DateTime Fundraiser organizer supplied deadline for raising funds for the fundraiser Use the 'serviceDate' field.
mediaType - MediaType The kind of content used for the fundraiser page
projectType - ProjectType Is the fundraiser personal, or for charity? Money goes directly to the charity for charity fundraisers
serviceDate - DateTime Date that funds need to be raised by for a funeral or memorial service
templateId - Int
turnOffDonations - Boolean An indicator whether the fund is accepting donations
url - String The Url of the fundraiser. Deprecated in favor of 'slug' This value is not a URL, it is a slug. Use the 'slug' field.
slug - String The unique slug of the fundraiser
redirectUrl - String Most recent url for the fundraiser. Returns null if the request url is current
organizer - User User information for the Fundraiser Organizer who created the fundraiser
mediaId - String Reference to the content used for the fundraiser page
visibleInSearch - Boolean An indicator whether or not the fundraiser is visible in search
deactivated - Boolean An indicator whether the fundraiser is currently deactivated
state - FundraiserState
inDegradedMode - Boolean
isLaunched - Boolean An indicator whether the fundraiser is currently launched Use the 'isPublished' field.
isPublished - Boolean An indicator whether the fundraiser is currently published. A published fundraiser is publicly visible, unless it has been flagged. A "draft" fundraiser is one that is not published
fundraiserImageUrl - Url The Url of the image to be used for the fundraiser Use 'mediaUrl' field.
mediaUrl - Url The Url of the image to be used for the fundraiser
fundraiserPhoto - FundraiserPhoto Object with image url and various scaling options Use 'photo' field.
photo - FundraiserPhoto Object with image url and various scaling options
launchDate - DateTime The timestamp of the fundraiser organizer launching the fundraiser Use 'publishedAt' field.
publishedAt - DateTime The timestamp of when the fundraiser was first published
socialShareLastUpdate - DateTime The contents of the fundraiser organizers last social share
location - Location The fundraiser organizer specified location of the fundraiser
tags - [String!]
team - Team Information about the team the fundraiser is being organized by
partner - Partner Information about the partner that facilitated the creation of the fundraiser
partnerCobrandingEnabled - Boolean Indicates whether or not the fundraiser should be cobranded with the partner
isPersonalCharity - Boolean An indicator
charityOrganized - Boolean
lastDonationAt - DateTime Time of the last donation to the fundraiser
donations - DonationConnection List of donations for a fundraiser using cursor based pagination
Arguments
first - Int
last - Int
before - String
after - String
order - DonationOrder
totalDonations - Int Total number of donations for a fundraiser
Arguments
donationsOffsetPagination - DonationConnection List of donations for a fundraiser using offset based pagination. Should only be used for feed deprecation project - otherwise just use "donations"
Arguments
limit - Int
offset - Int
order - DonationOrder
donationsFromShares - DonationConnection List of donations for a fundraiser by SmartLink AttributionId using cursor based pagination
Arguments
attributionId - String
first - Int
last - Int
before - String
after - String
order - DonationOrder
commentsOffsetPagination - CommentConnection List of comments posted by donors for a fundraiser using offset pagination Should only be used for feed deprecation project - otherwise just use "comments"
Arguments
limit - Int
offset - Int
comments - CommentConnection List of comments posted by donors for a fundraiser
Arguments
first - Int
last - Int
before - String
after - String
teamMembers - [TeamMember!]
coOrganizers - CoOrganizerConnection List of Co-organizers associated with the fundraiser
Arguments
first - Int
last - Int
before - String
after - String
coOrganizerInvites - [CoOrganizerInvite] List of coOrganizer invites for a fundraiser
Arguments
onlyActive - Boolean
commentCount - Int
updateCount - Int
uniqueDonorCount - Int
fundraiserHeartCount - Int Use 'heartCount' field.
heartCount - Int
socialShareCount - Int
photoCounts - PhotoCounts
donationsInLast48HoursCount - Int
partnerExternalOrganizer - PartnerExternalOrganizer A partner-created fund can be associated with an external user that might claim the fund later on; or has already done so
autoThank - AutoThank Auto thank setting is used to determine whether a donor will receive an automatic thank you
goalLog - [Goal] A log of goal changes over time
instagramDeepLink - String The Instagram deep link url. Only available for some Person To Charity (P2C) fundraisers
isLinkedWithMeta - Boolean Indicates if the fund was linked to Meta
npoMarketingConsent - Boolean Indicates whether the campaign organizer has consented to sharing their personal data with nonprofits when creating a fundraiser
isPrivate - Boolean

The fundraiser's privacy setting, which is set by the organizer. It defaults to false. This will control whether the fundraiser can appear on featured pages and collections.

There is a related field called visibleInSearch. If isPrivate is true, then visibleInSearch will be false. The visibleInSearch field may be false for other reasons, but it's always false (not visible) when the organizer makes the fundraiser "private"

thirdPartyId - String Optional identifier provided by a partner for partner-referred fundraisers
encourageRecurringDonations - Boolean A setting that controls whether or not the Fundraiser Organizer suggest that donors make recurring donations rather than one time
charityFundMomentType - CharityFundMomentType The type of moment associated with this fundraiser (e.g., BIRTHDAY, CLASSIC). This field is only applicable for charity fundraisers (when projectType is CHARITY). Will be null for non-charity fundraisers. @deprecated(reason: "Use 'charityFundraiserMomentType' field instead to allow more moments in the future.")
charityFundraiserMomentType - String Type of moment to check for. If null, uses default CLASSIC. Alternate to momentType enum which will be deprecated in the future
whyToDonate - String Why to donate text generated by the BYOP service
withdrawalsLocked - Boolean Indicates whether withdrawals are currently locked for this fundraiser. Returns false when no locks exist or when all locks are cleared. Returns true when any active, non-cleared lock exists. Returns null when unauthenticated or not a member
galleryImages - GalleryImagesConnection List of additional uncropped fundraiser gallery images submitted by the organizer
Arguments
first - Int
last - Int
before - String
after - String
suggestedGoalAmount - SuggestedGoalAmount Get suggested goal amount based on fundraiser and browser/device data. Returns null if there is no suggestion
Arguments
goalType - SuggestedGoalType!
modelTargets - [Experiment!]
organizerDefinedGoalAmount - Int
organizerDistinctId - ID
organizerReferrer - String
organizerScreenHeight - Int
organizerScreenWidth - Int
requestSource - SuggestedGoalRequestSource!

Example

{
  "deprecatedNestedField": "abc123",
  "id": "4",
  "fundId": "4",
  "autoFbPostMode": true,
  "expectedBeneficiaryRelation": "YOURSELF",
  "myRelationships": ["ORGANIZER"],
  "categoryId": "4",
  "category": "EMERGENCIES",
  "topCause": Cause,
  "charity": Charity,
  "currentAmount": Money,
  "defaultUrl": "abc123",
  "defaultSlug": "xyz789",
  "donationCount": 987,
  "commentsEnabled": true,
  "donationsEnabled": true,
  "smartGoalsEnabled": true,
  "smartGoalsOptIn": "ENABLED",
  "videoSharingEnabled": true,
  "aiShareTextEnabled": true,
  "posterSharingEnabled": false,
  "areCollectionsDisplayed": false,
  "isUkraineFlow": false,
  "enableContact": false,
  "isGfmDotOrgFund": true,
  "hasDonations": true,
  "hasGfmOrgDonation": true,
  "fundDescription": "abc123",
  "description": "xyz789",
  "fundName": "xyz789",
  "title": "xyz789",
  "goalAmount": Money,
  "userDefinedGoalAmount": Money,
  "goalDeadline": "2007-12-03T10:15:30Z",
  "deadline": "2007-12-03T10:15:30Z",
  "mediaType": "UNKNOWN",
  "projectType": "UNKNOWN",
  "serviceDate": "2007-12-03T10:15:30Z",
  "templateId": 987,
  "turnOffDonations": false,
  "url": "abc123",
  "slug": "abc123",
  "redirectUrl": "abc123",
  "organizer": User,
  "mediaId": "xyz789",
  "visibleInSearch": true,
  "deactivated": false,
  "state": "CAMPAIGNLITE",
  "inDegradedMode": false,
  "isLaunched": true,
  "isPublished": false,
  "fundraiserImageUrl": Url,
  "mediaUrl": Url,
  "fundraiserPhoto": FundraiserPhoto,
  "photo": FundraiserPhoto,
  "launchDate": "2007-12-03T10:15:30Z",
  "publishedAt": "2007-12-03T10:15:30Z",
  "socialShareLastUpdate": "2007-12-03T10:15:30Z",
  "location": Location,
  "tags": ["abc123"],
  "team": Team,
  "partner": Partner,
  "partnerCobrandingEnabled": false,
  "isPersonalCharity": true,
  "charityOrganized": true,
  "lastDonationAt": "2007-12-03T10:15:30Z",
  "donations": DonationConnection,
  "totalDonations": 123,
  "donationsOffsetPagination": DonationConnection,
  "donationsFromShares": DonationConnection,
  "commentsOffsetPagination": CommentConnection,
  "comments": CommentConnection,
  "teamMembers": [TeamMember],
  "coOrganizers": CoOrganizerConnection,
  "coOrganizerInvites": [CoOrganizerInvite],
  "commentCount": 123,
  "updateCount": 987,
  "uniqueDonorCount": 987,
  "fundraiserHeartCount": 987,
  "heartCount": 123,
  "socialShareCount": 987,
  "photoCounts": PhotoCounts,
  "donationsInLast48HoursCount": 123,
  "partnerExternalOrganizer": PartnerExternalOrganizer,
  "autoThank": AutoThank,
  "goalLog": [Goal],
  "instagramDeepLink": "xyz789",
  "isLinkedWithMeta": false,
  "npoMarketingConsent": true,
  "isPrivate": true,
  "thirdPartyId": "abc123",
  "encourageRecurringDonations": false,
  "charityFundMomentType": "BIRTHDAY",
  "charityFundraiserMomentType": "abc123",
  "whyToDonate": "xyz789",
  "withdrawalsLocked": false,
  "galleryImages": GalleryImagesConnection,
  "suggestedGoalAmount": SuggestedGoalAmount
}

FundraiserCategory

Description

The fundraiser category, such as "Funerals & Memorials" or "Medical". When someone is creating a fundraiser, one of the form fields they fill out is called "Category", and this type represents an option

Values

Enum Value Description

EMERGENCIES

ANIMALS

FAMILY

BUSINESS

EVENTS

COMMUNITY

CREATIVE

WISHES

EDUCATION

MEMORIALS

MEDICAL

FAITH

SPORTS

TRAVEL

VOLUNTEER

OTHER

ENVIRONMENT

MONTHLY_BILLS

COMPETITIONS

NEWLYWEDS

CHARITY

Example

"EMERGENCIES"

FundraiserConnection

Fields

Field Name Description
edges - [FundraiserEdge]
pageInfo - PageInfo!

Example

{
  "edges": [FundraiserEdge],
  "pageInfo": PageInfo
}

FundraiserEdge

Fields

Field Name Description
cursor - String
node - Fundraiser

Example

{
  "cursor": "xyz789",
  "node": Fundraiser
}

FundraiserFilter

Description

Fields for filtering a list of Fundraisers

Fields

Input Field Description
isPublished - Boolean Is a Fundraiser publicly viewable. A viewable fundraiser will have a publicly accessible URL
myRelationships - [FundraiserRelationship!] The user's relationship to the fundraiser

Example

{"isPublished": true, "myRelationships": ["ORGANIZER"]}

FundraiserInput

Description

Input for creating or updating a fundraiser

Fields

Input Field Description
country - CountryCode

The country the fundraiser is located in. The user creating this fundraiser will only be able to withdraw funds if their mailing address is located in this country.

Once a user has published their first fundraiser, all subsequent fundraisers must have the same country. To check this requirement, use the Viewer.assignedCountryForPayments field. If that value is set, the FundraiserInput.country field must match, or the mutation will be rejected

category - FundraiserCategory The fundraiser's category
expectedBeneficiaryRelation - ExpectedBeneficiaryRelation

Who the organizer of the fundraiser intends will receive the funds. E.g. "Yourself" if they intend to receive funds themselves, "Someone else" if they intend for another individual to receive the funds, or "Charity" if they're fundraising on behalf of charity.

This value only represents an expectation at the time of creating or updating the fundraiser. It is not a source of truth for who is actually receiving the funds

charity - CharitySelectInput The charity that will directly receive the money raised from this fundraiser. If a charity is selected, the organizer will not be able to withdraw funds to their own bank account
partnerAffiliation - PartnerAffiliation Optional information necessary to associate this fundraiser to a partner, if the organizer came to us from a partner. Basic affiliation will be inferred automatically if a fundraiser is created using an API Key
partnerExternalOrganizer - PartnerExternalOrganizerInput Associates a partner-created fundraiser with an external user. If provided, the user will be sent an invitation to organize the fundraiser upon publish
postalCode - String The zip/postal code of the fundraiser
goalAmount - Int The fundraiser's goal amount. This amount is denominated in the currency provided in the "currency" input value. This is a deprecated field, userDefinedGoalAmount should be used instead
userDefinedGoalAmount - Int The organizer's manually entered goal amount. This represents their final goal, but may not be what be what displays on the fundraiser page if the organizer has opted into smart goals. This amount is denominated in the currency provided in the "currency" input value
smartGoalAmount - Int Internal use only. An automatically determined starting goal amount that will be updated over time, if the organizer has opted into smart goals. This amount is denominated in the currency provided in the "currency" input value. Partners setting this value will result in an error
title - String The fundraiser's title. This will appear as the headline and show up in shared links and social media posts
isPrivate - Boolean The fundraiser's privacy setting. This will control whether the fundraiser can appear on featured pages and collections. This setting is used, alongside other factors, in determining if the fundraiser should appear in search
description - String The HTML description for the fundraiser. This must be a well-formed HTML fragment containing only the following HTML tags: "p", "div", "h1", "h2", "h3", "h4", "h5", "h6", "ul", "ol", "li", "blockquote", "b", "i", "font", "s", "u", "o", "sup", "sub", "ins", "del", "strong", "strike", "tt", "code", "big", "small", "br", "span", "em"
serviceDate - DateTime Date that funds need to be raised by for a funeral or memorial service. This value should only be set for fundraisers that are for funerals or memorials
mediaUrl - Url The URL of the main image or video that appears on the fundraiser's public page
slug - String The unique slug that will be used to construct the URL to your fundraiser (gofundme.com/f/{slug}). If not provided, a slug will be inferred from your title. If a custom slug is provided, but it is already taken, an error will be thrown. Slug can be edited freely while in draft. After publish, only one additional update to slug is permitted
acknowledgeContentWarnings - Boolean

A confirmation that the organizer of this fundraiser has acknowledged any warnings that may have been triggered by the content of their fundraiser.

This field is optional if:

  1. The fundraiser is not published, OR
  2. The input does not trigger any content warnings.

If the input does trigger content warnings AND the fundraiser is published, this value must be true or the request will be rejected.

To check for warnings before submitting input, use the contentWarnings Query

smartGoalsEnabled - Boolean A setting that controls whether or not the goal amount should be automatically adjusted over time. If enabled, the current smart goal amount (goalAmount) will be shown on the fundraiser page. If disabled, the userDefinedGoalAmount will always be shown
videoSharingEnabled - Boolean A setting that controls whether or not Video Sharing is enabled If enabled, an AI generated video will be created and shareable in the sharesheet. If disabled, no video will be generated
aiShareTextEnabled - Boolean A setting that controls whether or not GenAI Suggested Share Text is enabled If enabled, the sharesheet will automatically generate share text for the user. If disabled, the sharesheet will use hardcoded fallback text
posterSharingEnabled - Boolean A setting that controls whether or not Poster Sharing is enabled If enabled, the sharesheet will allow poster sharing for the user. If disabled, the sharesheet will not allow poster sharing for the user
npoMarketingConsent - Boolean Indicates whether the campaign organizer has consented to sharing their personal data with nonprofits when creating a fundraiser
clientGeneratedDraftId - String A draft id generated client-sided during the initial create step
encourageRecurringDonations - Boolean A setting that controls whether or not the Fundraiser Organizer suggest that donors make recurring donations rather than one time
collectionId - ID The collectionId of the collection that the fundraiser should be added to
partnerFundraiserInput - PartnerFundraiserInput Input data concerning the partner to be associated with the fundraiser

Example

{
  "country": "US",
  "category": "EMERGENCIES",
  "expectedBeneficiaryRelation": "YOURSELF",
  "charity": CharitySelectInput,
  "partnerAffiliation": PartnerAffiliation,
  "partnerExternalOrganizer": PartnerExternalOrganizerInput,
  "postalCode": "abc123",
  "goalAmount": 123,
  "userDefinedGoalAmount": 123,
  "smartGoalAmount": 123,
  "title": "xyz789",
  "isPrivate": true,
  "description": "abc123",
  "serviceDate": "2007-12-03T10:15:30Z",
  "mediaUrl": Url,
  "slug": "xyz789",
  "acknowledgeContentWarnings": true,
  "smartGoalsEnabled": true,
  "videoSharingEnabled": true,
  "aiShareTextEnabled": true,
  "posterSharingEnabled": false,
  "npoMarketingConsent": false,
  "clientGeneratedDraftId": "abc123",
  "encourageRecurringDonations": false,
  "collectionId": 4,
  "partnerFundraiserInput": PartnerFundraiserInput
}

FundraiserOrder

Values

Enum Value Description

CREATED_AT

AMOUNT

LAST_DONATION_AT

Example

"CREATED_AT"

FundraiserPhoto

Fields

Field Name Description
url - Url
scaled - FundraiserPhotoScaled

Example

{
  "url": Url,
  "scaled": FundraiserPhotoScaled
}

FundraiserPhotoScaled

Fields

Field Name Description
fourByThree1200 - Url
threeByTwo1200 - Url
sixteenByNine270 - Url Mistyped. Use 'sixteenByNine720' instead.
sixteenByNine720 - Url
threeByTwo720 - Url
threeByTwo640 - Url
oneByOne960 - Url

Example

{
  "fourByThree1200": Url,
  "threeByTwo1200": Url,
  "sixteenByNine270": Url,
  "sixteenByNine720": Url,
  "threeByTwo720": Url,
  "threeByTwo640": Url,
  "oneByOne960": Url
}

FundraiserPublishInput

Description

Input for creating or updating a fundraiser

Fields

Input Field Description
acknowledgeContentWarnings - Boolean Publish the fundraiser regardless of whether or not the description is flagged as containing potential PII / crisis content

Example

{"acknowledgeContentWarnings": false}

FundraiserRelationship

Description

Possible relationships that a user may have with a fundraiser

Values

Enum Value Description

ORGANIZER

TEAM_MEMBER

PENDING_BENEFICIARY

ACCEPTED_BENEFICIARY

Example

"ORGANIZER"

FundraiserResponse

Description

Response payload after creating or updating a fundraiser

Fields

Field Name Description
fundraiser - Fundraiser The newly-created fundraiser
userErrors - [UserError!]! Fixable validation errors. These are meant to display to the end-user

Example

{
  "fundraiser": Fundraiser,
  "userErrors": [UserError]
}

FundraiserState

Values

Enum Value Description

CAMPAIGNLITE

HIDDEN

UNKNOWN

DELETED

ACTIVE

Example

"CAMPAIGNLITE"

GalleryImagesConnection

Fields

Field Name Description
edges - [GalleryImagesEdge]
pageInfo - PageInfo!

Example

{
  "edges": [GalleryImagesEdge],
  "pageInfo": PageInfo
}

GalleryImagesEdge

Fields

Field Name Description
cursor - String
node - Photo

Example

{
  "cursor": "abc123",
  "node": Photo
}

GalleryImagesOrder

Values

Enum Value Description

CREATED_AT

Example

"CREATED_AT"

GenAiAsyncTask

Description

Base type for async task information

Fields

Field Name Description
taskId - ID Unique identifier for the task
taskStatus - GenAiTaskStatus Current status of the task

Example

{"taskId": 4, "taskStatus": "PENDING"}

GenAiTaskStatus

Description

Represents the status of an asynchronous task

Values

Enum Value Description

PENDING

DONE

ERROR

Example

"PENDING"

GfmHero

Description

GoFundMe Hero actor

Fields

Field Name Description
id - ID! The id of the GoFundMe Hero actor
firstName - String The first name of the GoFundMe Hero actor
lastName - String The last name of the GoFundMe Hero actor

Example

{
  "id": 4,
  "firstName": "xyz789",
  "lastName": "abc123"
}

GivingFund

Fields

Field Name Description
id - ID! The giving fund ID
name - String! The giving fund name
currentBalance - Money The current balance of the giving fund account. This is currently linked to pendingBalance directly. Later it can be manipulated due to product requirements on the backend. It should be used on the end user facing fields
pendingContributionBalance - Money The pending contribution balance. It is the sum of all pending contributions transactions only. It should be used on the end user facing fields
pendingBalance - Money The pending balance. This is SUM(all pending + posted transactions). Coming from MT directly. It should not be used on the end user facing fields
postedBalance - Money The posted balance. This is SUM(all pending). Coming from MT directly. It should not be used on the end user facing fields
availableBalance - Money The available balance. This is SUM(all posted transactions) - SUM(all pending transactions). Coming from MT directly. It should not be used on the end user facing fields
fundId - String! The shadow fund id related to the giving fund
fundraiser - Fundraiser The shadow fund related to the giving fund
investment - GivingFundInvestment Investment details
investmentStatus - GivingFundInvestmentStatus Status of the giving fund investment
transactionSummaries - GivingFundTransactionSummaries Gets a summary of transactions for the giving fund
transaction - GivingFundTransaction Gets a single transaction from the Giving Fund by it's ID
Arguments
id - ID!
transactions - GivingFundTransactionConnection List of transactions for the giving fund
Arguments
first - Int
last - Int
before - String
after - String
contributionGoal - GivingFundContributionGoal Contribution goal for the giving fund

Example

{
  "id": "4",
  "name": "xyz789",
  "currentBalance": Money,
  "pendingContributionBalance": Money,
  "pendingBalance": Money,
  "postedBalance": Money,
  "availableBalance": Money,
  "fundId": "abc123",
  "fundraiser": Fundraiser,
  "investment": GivingFundInvestment,
  "investmentStatus": "ACTIVE",
  "transactionSummaries": GivingFundTransactionSummaries,
  "transaction": GivingFundTransaction,
  "transactions": GivingFundTransactionConnection,
  "contributionGoal": GivingFundContributionGoal
}

GivingFundContributionDetails

Description

Represents a contribution to the user's giving fund (money flowing in)

Fields

Field Name Description
sourceType - GivingFundContributionSourceType
sourceContent - GivingFundContributionSourceContent
feeAmount - Money!

Example

{
  "sourceType": "CREDIT_CARD",
  "sourceContent": CreditCardContent,
  "feeAmount": Money
}

GivingFundContributionGoal

Description

Represents a contribution goal for a giving fund

Fields

Field Name Description
id - ID! Unique identifier for the contribution goal
givingFundId - ID! The ID of the giving fund this goal belongs to
goalAmount - Decimal! The target amount for the contribution goal
goalStrategy - GivingFundGoalStrategy The type of contribution goal
incomeBasedGoalDetails - IncomeBasedGoalDetails Additional details for income-based goals
amountDonatedPreviousYear - Decimal Amount donated in the previous year, for LAST_YEAR_GOAL type

Example

{
  "id": 4,
  "givingFundId": 4,
  "goalAmount": Decimal,
  "goalStrategy": "FIXED_AMOUNT",
  "incomeBasedGoalDetails": IncomeBasedGoalDetails,
  "amountDonatedPreviousYear": Decimal
}

GivingFundContributionSourceContent

Description

Union for types to create details for each GivingFundContributionSourceType

Types

Union Types

CreditCardContent

Example

CreditCardContent

GivingFundContributionSourceType

Description

Enum for the source of the transaction

Values

Enum Value Description

CREDIT_CARD

ACH

UNKNOWN

APPLE_PAY

GOOGLE_PAY

Example

"CREDIT_CARD"

GivingFundDonationDetails

Description

Represents a donation made from the user's giving fund to a charity (money flowing out)

Fields

Field Name Description
npoName - String! Extra field only for donations No longer supported
charityId - ID!
npoType - GivingFundDonationNpoContentType
npoData - GivingFundDonationNpoContentDetails
donationAmount - Money! The amount of the donation
tipAmount - Money! The amount of the tip

Example

{
  "npoName": "abc123",
  "charityId": "4",
  "npoType": "FUNDRAISER",
  "npoData": Fundraiser,
  "donationAmount": Money,
  "tipAmount": Money
}

GivingFundDonationNpoContentDetails

Types

Union Types

Fundraiser

Charity

Example

Fundraiser

GivingFundDonationNpoContentType

Values

Enum Value Description

FUNDRAISER

NPO

Example

"FUNDRAISER"

GivingFundFavorite

Description

A favorite item for a user in a giving fund context

Fields

Field Name Description
id - ID! The favorite ID
givingFundId - ID The giving fund ID associated with the favorite
contentType - GivingFundFavoriteContentType The type of content that was marked favorite
contentId - String The ID of the content that was marked favorite
contentData - GivingFundFavoriteContent The data for the favorited content (e.g., Charity, Campaign, etc.)

Example

{
  "id": 4,
  "givingFundId": 4,
  "contentType": "NPO",
  "contentId": "xyz789",
  "contentData": Charity
}

GivingFundFavoriteContent

Description

Union of all possible favorite-able content types. Currently only Charity(NPO)

Types

Union Types

Charity

Example

Charity

GivingFundFavoriteContentType

Description

Possible types of content that can be marked favorite

Values

Enum Value Description

NPO

Non-profit organization

Example

"NPO"

GivingFundGoalStrategy

Description

Represents the goal strategy a user has on a Giving Fund

Values

Enum Value Description

FIXED_AMOUNT

User manually enters a specific target amount

INCOME_BASED

Goal is calculated based on user's income

LAST_YEAR_GOAL

Goal is based on previous year's giving

TAX_OPTIMIZATION

Goal is optimized for tax benefits

Example

"FIXED_AMOUNT"

GivingFundInvestment

Description

Investment information about a giving fund

Fields

Field Name Description
account - GivingFundInvestmentAccount The investment account details used to send contributions
currentPortfolio - GivingFundInvestmentPortfolioSubscription The currently active portfolio subscription for this giving fund
portfolioHistory - [GivingFundInvestmentPortfolioSubscription] All the historical portfolio subscriptions for this giving fund
allTimeEarnings - GivingFundInvestmentAllTimeEarnings All time earnings for this giving fund investment. If null, it means the user never invested
positionHistory - GivingFundInvestmentPositionHistory The position history for a giving fund
canModifySubscriptionAt - DateTime The next time the giving fund can modify its portfolio subscription If null, there is no cooldown and it can be modified at any time

Example

{
  "account": GivingFundInvestmentAccount,
  "currentPortfolio": GivingFundInvestmentPortfolioSubscription,
  "portfolioHistory": [
    GivingFundInvestmentPortfolioSubscription
  ],
  "allTimeEarnings": GivingFundInvestmentAllTimeEarnings,
  "positionHistory": GivingFundInvestmentPositionHistory,
  "canModifySubscriptionAt": "2007-12-03T10:15:30Z"
}

GivingFundInvestmentAccount

Description

Investment account for a giving fund. Has many similarities to banking accounts. It is managed by the investment/brokerage provider (Alpaca) and replicated in in the gql database, table giving_fund.investment_accounts

Fields

Field Name Description
extAccountNumber - String The account number as defined by the investment/brokerage provider
ownerName - String Legal name of the account owner. For DAFs it will always be GoFundMe
dtcNumber - String DTC number for the broker managing the account. These are unique to each broker/exchange, similar to bank identifiers
brokerageFirm - String Legal name for the broker managing the account
taxId - String Tax ID of the account owner. For DAFs it will always be GoFundMe's

Example

{
  "extAccountNumber": "xyz789",
  "ownerName": "xyz789",
  "dtcNumber": "xyz789",
  "brokerageFirm": "xyz789",
  "taxId": "xyz789"
}

GivingFundInvestmentAllTimeEarnings

Description

All time earnings for a giving fund investment

Fields

Field Name Description
percentage - Float Relative gain/loss
total - Money Nominal gain/loss

Example

{"percentage": 987.65, "total": Money}

GivingFundInvestmentAssetKind

Description

Possible types of assets a giving fund can be invested into

Values

Enum Value Description

STOCK

Stocks

BOND

Bonds

Example

"STOCK"

GivingFundInvestmentPortfolio

Description

Portfolio a giving fund can be invested into. Portfolios are bags of wighted securities and act as curated investment strategies

Fields

Field Name Description
id - ID! Id of the portfolio
name - String User friendly name of the portfolio
tags - [String] Tags represent features of portfolios such as risk level
description - String Short description of the portfolio and its contents
longDescription - String Long description of the portfolio and its contents
securities - [GivingFundInvestmentSecurity] Securities contained in this portfolio
historicalReturns - [GivingFundInvestmentPortfolioHistoricalReturns] Historical returns for this portfolio

Example

{
  "id": "4",
  "name": "abc123",
  "tags": ["xyz789"],
  "description": "xyz789",
  "longDescription": "abc123",
  "securities": [GivingFundInvestmentSecurity],
  "historicalReturns": [
    GivingFundInvestmentPortfolioHistoricalReturns
  ]
}

GivingFundInvestmentPortfolioHistoricalReturns

Description

Returns for a portfolio over a period of time

Fields

Field Name Description
years - Int Number of years
percentage - Float Percentage gain/loss

Example

{"years": 987, "percentage": 987.65}

GivingFundInvestmentPortfolioSubscription

Description

A subscription representing a giving fund that has been invested into a specific portfolio

Fields

Field Name Description
id - String! Unique UUID for the subscription
portfolio - GivingFundInvestmentPortfolio The portfolio the giving fund has been invested into
createdAt - DateTime When the investment started
unsubscribedAt - DateTime When the investment ended if it did

Example

{
  "id": "xyz789",
  "portfolio": GivingFundInvestmentPortfolio,
  "createdAt": "2007-12-03T10:15:30Z",
  "unsubscribedAt": "2007-12-03T10:15:30Z"
}

GivingFundInvestmentPosition

Description

Position of a giving fund in a portfolio in a specific moment in time

Fields

Field Name Description
date - DateTime Date of the position
contributed - Decimal Amount of money contributed by the giving fund at this point in time minus donations
equity - Decimal Total equity in the giving fund at this point in time
donationsAggregate - Decimal Sum of all donations up until this point in time
contributionsAggregate - Decimal Sum of all contributions up until this point in time

Example

{
  "date": "2007-12-03T10:15:30Z",
  "contributed": Decimal,
  "equity": Decimal,
  "donationsAggregate": Decimal,
  "contributionsAggregate": Decimal
}

GivingFundInvestmentPositionHistory

Description

Positions in the giving fund over time

Fields

Field Name Description
currency - CurrencyCode Currency of all the positions
positions - [GivingFundInvestmentPosition] Positions in the giving fund over time. For now it will be daily

Example

{
  "currency": "AUD",
  "positions": [GivingFundInvestmentPosition]
}

GivingFundInvestmentSecurity

Description

A specific weighted security a giving fund user can invest into as part of a portfolio

Fields

Field Name Description
assetType - GivingFundInvestmentAssetKind Type of asset this security represents
symbol - String Public ticker symbol for the asset e.g. GOOGL, AAPL
percent - Float Weight of this asset in the portfolio that contains it
name - String User friendly name of the asset
description - String Description of the asset
link - String Link to public information of the asset

Example

{
  "assetType": "STOCK",
  "symbol": "abc123",
  "percent": 123.45,
  "name": "abc123",
  "description": "xyz789",
  "link": "abc123"
}

GivingFundInvestmentStatus

Description

Possible statuses of a giving fund investment

Values

Enum Value Description

ACTIVE

The giving fund is been invested.

For the moment this means 100% of the contributions to the giving fund will be invested

INACTIVE

The giving fund is not invested.

The money from the invested assets can take some time to arrive in the giving fund balance

Example

"ACTIVE"

GivingFundTransaction

Description

A transaction made by the user to their giving fund

Fields

Field Name Description
id - ID!
amount - Money! The amount of the transaction
counterParty - GivingFundTransactionCounterParty The party involved in the transaction. For Contribution: this field represents the person who is funding For Donation, this field represents the receiver charity No longer supported
status - GivingFundTransactionStatus! An indicator that the transaction was completed and counts towards the Giving Fund balance
createdAt - DateTime! The timestamp when the transaction was made
accountingDate - String! The timestamp when the transaction was made with NY Time zone
isRecurring - Boolean Indicate if the transaction is a recurring donation
type - GivingFundTransactionType! Indicate if its a contribution or donation
direction - GivingFundTransactionDirection! Indicate the monetary direction of the transaction
details - TransactionDetails!

Example

{
  "id": 4,
  "amount": Money,
  "counterParty": GivingFundTransactionCounterParty,
  "status": "PENDING",
  "createdAt": "2007-12-03T10:15:30Z",
  "accountingDate": "abc123",
  "isRecurring": true,
  "type": "CONTRIBUTION",
  "direction": "INCOMING",
  "details": GivingFundContributionDetails
}

GivingFundTransactionAmount

Fields

Field Name Description
value - Money! The amount
direction - GivingFundTransactionDirection! The direction of the amount

Example

{"value": Money, "direction": "INCOMING"}

GivingFundTransactionConnection

Description

Connection for paginated giving fund transactions

Fields

Field Name Description
edges - [GivingFundTransactionEdge]
pageInfo - PageInfo!

Example

{
  "edges": [GivingFundTransactionEdge],
  "pageInfo": PageInfo
}

GivingFundTransactionCounterParty

Description

The party involved in the transaction

Fields

Field Name Description
name - String!

Example

{"name": "abc123"}

GivingFundTransactionDirection

Description

Defines the direction of the transaction

Values

Enum Value Description

INCOMING

OUTGOING

Example

"INCOMING"

GivingFundTransactionEdge

Description

An edge in a paginated giving fund transaction connection

Fields

Field Name Description
cursor - String!
node - GivingFundTransaction!

Example

{
  "cursor": "xyz789",
  "node": GivingFundTransaction
}

GivingFundTransactionFilter

Description

Filters for Transactions

Fields

Input Field Description
type - GivingFundTransactionType!

Example

{"type": "CONTRIBUTION"}

GivingFundTransactionOrder

Description

Fields available for sorting giving fund transactions

Values

Enum Value Description

CREATED_AT

AMOUNT

Example

"CREATED_AT"

GivingFundTransactionStatus

Description

Defines the status of the transaction

Values

Enum Value Description

PENDING

SUCCEEDED

FAILED

Example

"PENDING"

GivingFundTransactionSummaries

Fields

Field Name Description
totalContribution - GivingFundTransactionAmount! The total amount of contributions
totalDonation - GivingFundTransactionAmount! The total amount of donations

Example

{
  "totalContribution": GivingFundTransactionAmount,
  "totalDonation": GivingFundTransactionAmount
}

GivingFundTransactionSummaryFilter

Fields

Input Field Description
from - Date! The start date of the range (inclusive)
to - Date! The end date of the range (exclusive)

Example

{
  "from": "2007-12-03",
  "to": "2007-12-03"
}

GivingFundTransactionType

Description

Defines the type of the transaction

Values

Enum Value Description

CONTRIBUTION

DONATION

Example

"CONTRIBUTION"

Goal

Fields

Field Name Description
goalAmount - Money!
source - GoalLogSource
date - DateTime

Example

{
  "goalAmount": Money,
  "source": "USER",
  "date": "2007-12-03T10:15:30Z"
}

GoalLogSource

Description

The source of the goal log referenced by the source field

Values

Enum Value Description

USER

The goal log change came from a user

SYSTEM

The goal log change came from the system

Example

"USER"

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID

Example

4

IncomeBasedGoalDetails

Description

Details for income-based contribution goals

Fields

Field Name Description
estimatedIncome - Decimal The user's estimated annual income
desiredIncomeContributionPercentage - Decimal The percentage of income the user wants to contribute (0-100)

Example

{
  "estimatedIncome": Decimal,
  "desiredIncomeContributionPercentage": Decimal
}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1

Example

123

JsonSerializedVariables

Description

Default Coaching Action Item Variables object

Fields

Field Name Description
jsonString - String! Serialized Action Variables map

Example

{"jsonString": "abc123"}

Location

Fields

Field Name Description
city - String
countryCode - CountryCode
coordinates - Coordinates
postalCode - String
statePrefix - String

Example

{
  "city": "abc123",
  "countryCode": "US",
  "coordinates": Coordinates,
  "postalCode": "abc123",
  "statePrefix": "abc123"
}

MediaType

Description

The type of media referenced by the mediaUrl field on a fundraiser

Values

Enum Value Description

UNKNOWN

There is no data about the mediaUrl on the fundraiser

YOUTUBE

The mediaUrl points to a YouTube video

PHOTO_RACK

The mediaUrl points to a photo stored on GoFundMe's hosting platform

VIMEO

The mediaUrl points to a Vimeo video

PHOTO_AWS

The mediaUrl points to an AWS resource owned by GoFundMe

FACEBOOK_AWS

Facebook slideshow posted to the user's account, hosted on AWS

FACEBOOK_RACK

Facebook slideshow posted to the user's account, indicating specialized storage or optimization

FACEBOOK_ONLY

Facebook video updates only uploaded to the user's Facebook account

FACEBOOK_PAGE_AWS

Facebook slideshow hosted on GoFundMe's Facebook page, utilizing AWS for hosting

FACEBOOK_PAGE_RACK

Facebook slideshow hosted on GoFundMe's Facebook page, indicating specialized storage or optimization

GFM_MUX_CLIPS

The mediaUrl points to a Mux resource owned by GoFundMe, for video hosting or streaming

Example

"UNKNOWN"

Money

Description

A representation of a monetary amount. Amount is a decimal represented as a string with 0, 1, or 2 decimal places

Fields

Field Name Description
currencyCode - CurrencyCode!
amount - Decimal!

Example

{"currencyCode": "AUD", "amount": Decimal}

NoActor

Description

None actor. Used for system activities that have no discernible actor

Fields

Field Name Description
id - ID! The id of the None actor

Example

{"id": "4"}

Node

NotificationActivityConnection

Description

Connection for notification activities

Fields

Field Name Description
edges - [NotificationActivityEdge] List of notification activities
pageInfo - PageInfo! Pagination meta-information

Example

{
  "edges": [NotificationActivityEdge],
  "pageInfo": PageInfo
}

NotificationActivityEdge

Description

Each edge in the notification activity connection

Fields

Field Name Description
cursor - String Opaque cursor for pagination
node - NotificationFeedActivity The notification activity node

Example

{
  "cursor": "xyz789",
  "node": NotificationFeedActivity
}

NotificationFeedActivity

Description

https://gofundme.atlassian.net/wiki/spaces/Incubation/pages/4674027655/Notification+Aggregation+Examples

A NotificationFeedActivity represent either a single activity or the collapsed version of multiple similar activities. The activities have been grouped based on their attributes such that each NotificationFeedActivity should be 1:1 with each in-app notification displayed by the client. Activities will always have been grouped by verb, so clients should base their notification language from there and then adjust given the actors/targets/metadata/counts. Clients should be prepared to fail gracefully for verbs or permutations they do not recognize

Fields

Field Name Description
id - ID! The id of the notification. This ID can be used in subsequent mutations to mark the notification as read
actors - [Actor] The complete set of actors that were involved in the notification. The same actor can appear twice if they performed the same action multiple times e.g. multiple donations to the same fundraiser
distinctActorCount - Int The number of distinct actors in the actors list
verb - ActivityVerb The primary verb associated with the notification activity
target - ActivityTarget The primary target associated with the notification activity. In most cases, the activities in the will have been grouped by this target
distinctTargetCount - Int The distinct number of targets associated with the notification activity. For the near future, this will always be 1 because we are grouping by target. In the future we may support notifications that have multiple targets e.g. Bob donated to 5 fundraisers
metadata - ActivityMetadata The metadata associated with a notification activity. For activities that cannot be grouped by target, they will have been grouped by their metadata
distinctMetadataCount - Int The distinct number of metadata variations associated with the notification activity. For the near future, this will always be 1 because we are grouping by target. In the future we may support notifications that have multiple metadata variations e.g. Bob pinned 5 new entries to their profile
isRead - Boolean Indicates whether or not this notification has been read
isSeen - Boolean Indicates whether or not this notification has been seen. This property is updated implicitly when the notification is queried
createdAt - DateTime The time the notification was first created. If a notification is re-aggregated (due to additional actors performing the same activity), this timestamp will not change
updatedAt - DateTime The time the notification was last updated. If a notification is re-aggregated (due to additional actors performing the same activity), this timestamp will reflect that change
attributionId - ID Attribution id corresponding to the actor on the activity

Example

{
  "id": 4,
  "actors": [Anonymous],
  "distinctActorCount": 123,
  "verb": "CREATED",
  "target": Charity,
  "distinctTargetCount": 123,
  "metadata": ActivityMetadata,
  "distinctMetadataCount": 987,
  "isRead": false,
  "isSeen": false,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "attributionId": 4
}

OAuthApplication

Fields

Field Name Description
id - ID
clientId - String A OAuth2.0 standard clientId, which can be used to initiate an /authorize request
clientSecret - String A OAuth2.0 standard clientSecret, which can be used to exchange authorization codes for access_tokens
scopes - [OAuthScope] The set of scopes that this application is permitted to request
approvedCallBackUrls - [String] The set of FQDN's that will be permitted in the redirect_uri query parameter when initiating an /authorize request. Any redirect_uri provided that is not in this set will be rejected

Example

{
  "id": "4",
  "clientId": "abc123",
  "clientSecret": "abc123",
  "scopes": [OAuthScope],
  "approvedCallBackUrls": ["abc123"]
}

OAuthScope

Description

A distinct permission that authorizes a single type of operation

Fields

Field Name Description
description - String Textual description of the operation this scope authorizes e.g. Create a Fundraiser
name - String The name of the scope as it will appear on the access_token e.g. fundraiser:create
optional - Boolean Whether or not this scope is reject-able when navigating the consent flow

Example

{
  "description": "xyz789",
  "name": "xyz789",
  "optional": false
}

PageInfo

Fields

Field Name Description
hasPreviousPage - Boolean!
hasNextPage - Boolean!
startCursor - String
endCursor - String

Example

{
  "hasPreviousPage": false,
  "hasNextPage": false,
  "startCursor": "abc123",
  "endCursor": "xyz789"
}

Partner

Fields

Field Name Description
id - ID!
name - String!
code - String!
logoUrl - Url!
regularLogoUrl - Url
isActive - Boolean
contactEmail - String
revenueShare - Decimal
allowCobranding - Boolean! Whether this partner wants attributed fundraisers to show co-branding
defaultCobranding - Boolean! Initial state of cobranding on new campaigns
fundraisers - FundraiserConnection List of fundraisers attributed to the partner. This query is only available if authenticating via API Key
Arguments
first - Int
last - Int
before - String
after - String
order - FundraiserOrder
donations - DonationConnection A flat list of donations belonging to all of a partner's affiliated fundraisers. This query is only available if authenticating via API Key
Arguments
first - Int
last - Int
before - String
after - String
order - DonationOrder
oAuthApplication - OAuthApplication A partner's registered OAuth Application. The OAuth Application contains the information necessary to exercise a standard OAuth2.0 Authorization Code flow. This query is only available to users with permission to view the Partner Dashboard
apiKeys - [PartnerApiKey]
metrics - PartnerMetrics
reports - PartnerReport
designatedRecipient - DesignatedRecipient Entity that will receive the funds from the fundraiser created by a partner

Example

{
  "id": 4,
  "name": "xyz789",
  "code": "abc123",
  "logoUrl": Url,
  "regularLogoUrl": Url,
  "isActive": true,
  "contactEmail": "xyz789",
  "revenueShare": Decimal,
  "allowCobranding": true,
  "defaultCobranding": false,
  "fundraisers": FundraiserConnection,
  "donations": DonationConnection,
  "oAuthApplication": OAuthApplication,
  "apiKeys": [PartnerApiKey],
  "metrics": PartnerMetrics,
  "reports": PartnerReport,
  "designatedRecipient": DesignatedRecipient
}

PartnerAffiliation

Fields

Input Field Description
code - String A Partner's unique referral code
thirdPartyId - String An optional third-party ID a partner can associate to a referral
thirdPartyUrl - String An optional origin the partner can associate to their referral
sourceApplication - String This information will be used in future communications with the user. Allows partners to optionally provide a sourceApplication for their created fundraiser. For example, "Thank you for joining us from {source}, click here to manage your fundraiser."
isTestData - Boolean Intended for external developers, and CI/CD pipelines. This flag will mark the fundraiser as test data. Fundraisers marked as test data will be deleted after two weeks

Example

{
  "code": "abc123",
  "thirdPartyId": "abc123",
  "thirdPartyUrl": "xyz789",
  "sourceApplication": "abc123",
  "isTestData": true
}

PartnerApiKey

Fields

Field Name Description
id - ID!
name - String
display - String
status - Boolean
createdAt - DateTime
lastUsedAt - DateTime

Example

{
  "id": "4",
  "name": "xyz789",
  "display": "abc123",
  "status": false,
  "createdAt": "2007-12-03T10:15:30Z",
  "lastUsedAt": "2007-12-03T10:15:30Z"
}

PartnerDonationsAttributionReport

Description

The attribution report for a partner's donations

Fields

Field Name Description
status - PartnerDonationsAttributionReportStatus The status of the report. Possible values: [PENDING|FINISHED|FAILED]
url - String The URL of the donations attribution report

Example

{"status": "PENDING", "url": "abc123"}

PartnerDonationsAttributionReportStatus

Description

The status of the donations attribution report

Values

Enum Value Description

PENDING

The report is still being created

FINISHED

The report was successfully created

FAILED

An error occurred creating the report

Example

"PENDING"

PartnerDonationsAttributionsMetrics

Description

Donation metrics attributed to a partner over a time period

Fields

Field Name Description
donationCount - Int Number of attributed donations in the date range
financialMetrics - [PartnerFinancialMetrics] Aggregated donation volume in different currencies

Example

{
  "donationCount": 987,
  "financialMetrics": [PartnerFinancialMetrics]
}

PartnerDonationsFilter

Fields

Input Field Description
charityId - ID
paypalNonprofitId - ID
dateFrom - DateTime start date (inclusive)
dateTo - DateTime end date (not inclusive)
includeRefunds - Boolean

Example

{
  "charityId": "4",
  "paypalNonprofitId": 4,
  "dateFrom": "2007-12-03T10:15:30Z",
  "dateTo": "2007-12-03T10:15:30Z",
  "includeRefunds": true
}

PartnerDonationsReport

Fields

Field Name Description
status - PartnerDonationsReportStatus
url - String

Example

{"status": "PENDING", "url": "xyz789"}

PartnerDonationsReportStatus

Values

Enum Value Description

PENDING

FINISHED

FAILED

Example

"PENDING"

PartnerExternalOrganizer

Fields

Field Name Description
firstName - String
lastName - String
organizerInviteUrl - Url The invitation link for the user to organize the fundraiser that was created for them. This is only queryable within the publish mutation response
inviteAcceptedAt - DateTime

Example

{
  "firstName": "xyz789",
  "lastName": "xyz789",
  "organizerInviteUrl": Url,
  "inviteAcceptedAt": "2007-12-03T10:15:30Z"
}

PartnerExternalOrganizerInput

Description

Input for partners to provide info about the user they are creating a fundraiser on behalf of

Fields

Input Field Description
firstName - String!
lastName - String!
email - String!
emailOptIn - Boolean!
locale - String The locale in IETF's BCP 47 standard (e.g. en-US)

Example

{
  "firstName": "xyz789",
  "lastName": "abc123",
  "email": "abc123",
  "emailOptIn": true,
  "locale": "xyz789"
}

PartnerFinancialMetrics

Fields

Field Name Description
grossDonationVolume - Decimal
refundAmount - Decimal
netDonationVolume - Decimal
currencyCode - String

Example

{
  "grossDonationVolume": Decimal,
  "refundAmount": Decimal,
  "netDonationVolume": Decimal,
  "currencyCode": "abc123"
}

PartnerFundraiserFilter

Fields

Input Field Description
charityId - ID
paypalNonprofitId - ID
dateFrom - DateTime start publishedAt date (inclusive)
dateTo - DateTime end publishedAt date (not inclusive)
searchTerm - String Filters fundraisers with keywords similar to the searchTerm
statuses - [Status!] The fundraiser statuses to include. If not provided all statuses will be included

Example

{
  "charityId": "4",
  "paypalNonprofitId": 4,
  "dateFrom": "2007-12-03T10:15:30Z",
  "dateTo": "2007-12-03T10:15:30Z",
  "searchTerm": "abc123",
  "statuses": ["DELETED"]
}

PartnerFundraiserInput

Description

All partner related data to be associated with the fundraiser

Fields

Input Field Description
designatedRecipient - DesignatedRecipientInput Info to identify the designated recipient for the fundraiser
campaignRegistration - CampaignRegistrationInput For Campaign Registration Form inputs

Example

{
  "designatedRecipient": DesignatedRecipientInput,
  "campaignRegistration": CampaignRegistrationInput
}

PartnerFundraiserMetrics

Fields

Field Name Description
fundraisersStarted - Int
donationCount - Int
financialMetrics - [PartnerFinancialMetrics]

Example

{
  "fundraisersStarted": 987,
  "donationCount": 987,
  "financialMetrics": [PartnerFinancialMetrics]
}

PartnerFundraisersReport

Description

The fundraisers report for a partner

Fields

Field Name Description
status - PartnerFundraisersReportStatus The status of the report. Possible values: [PENDING|FINISHED|FAILED]
url - String The URL of the fundraisers report

Example

{"status": "PENDING", "url": "abc123"}

PartnerFundraisersReportStatus

Description

The status of the fundraisers report

Values

Enum Value Description

PENDING

The report is still being created

FINISHED

The report was successfully created

FAILED

An error occurred creating the report

Example

"PENDING"

PartnerLifetimeMetrics

Fields

Field Name Description
totalFundraisersStarted - Int
totalDonationCount - Int
totalAmountRaisedUSD - Decimal
totalAmountRaisedByCurrency - [Money]

Example

{
  "totalFundraisersStarted": 987,
  "totalDonationCount": 123,
  "totalAmountRaisedUSD": Decimal,
  "totalAmountRaisedByCurrency": [Money]
}

PartnerMetrics

Fields

Field Name Description
fundraiserMetrics - PartnerFundraiserMetrics
Arguments
from - DateTime!
to - DateTime!
fundraiserLifetimeMetrics - PartnerLifetimeMetrics
donationsAttributionsMetrics - PartnerDonationsAttributionsMetrics
Arguments
from - DateTime!
to - DateTime!

Example

{
  "fundraiserMetrics": PartnerFundraiserMetrics,
  "fundraiserLifetimeMetrics": PartnerLifetimeMetrics,
  "donationsAttributionsMetrics": PartnerDonationsAttributionsMetrics
}

PartnerReport

Fields

Field Name Description
donationsReport - PartnerDonationsReport
Arguments
exportId - String!
fundraisersReport - PartnerFundraisersReport Retrieve a fundraisers report
Arguments
exportId - String!
donationsAttributionReport - PartnerDonationsAttributionReport Retrieve a donations attribution report
Arguments
exportId - String!

Example

{
  "donationsReport": PartnerDonationsReport,
  "fundraisersReport": PartnerFundraisersReport,
  "donationsAttributionReport": PartnerDonationsAttributionReport
}

PartnerUpload

Fields

Field Name Description
id - ID!
fileName - String!
fileSize - Int!
fileType - String!
url - String!
createdAt - DateTime!

Example

{
  "id": "4",
  "fileName": "abc123",
  "fileSize": 987,
  "fileType": "abc123",
  "url": "abc123",
  "createdAt": "2007-12-03T10:15:30Z"
}

PersonChatDetails

Fields

Field Name Description
chatUserId - String!
lastActive - DateTime

Example

{
  "chatUserId": "xyz789",
  "lastActive": "2007-12-03T10:15:30Z"
}

PersonChatToken

Fields

Field Name Description
chatUserId - String!
chatLoginToken - String!

Example

{
  "chatUserId": "abc123",
  "chatLoginToken": "xyz789"
}

PersonCommunicationFundraiserPreference

Description

A user's preference for receiving messages for a fundraiser

Fields

Field Name Description
fundraiserId - ID! Fundraiser to which this preference is associated to
channel - String! Messaging channel -- i.e. EMAIL, SMS, PUSH
enabled - Boolean! Flag whether the user wants to receive comms or not

Example

{
  "fundraiserId": "4",
  "channel": "abc123",
  "enabled": false
}

PersonConsent

Description

Person Consent is a type the resents the channels a person has consented to be contacted through

This might be EMAIL, SMS, PUSH

Fields

Field Name Description
personId - ID! The person id to GFM
emailConsent - PersonConsentStatus! Global email consent
chatConsent - PersonConsentStatus! Global chat consent
subscriptions - [PersonSubscription!] Subscription Preferences the personId has

Example

{
  "personId": "4",
  "emailConsent": "ENABLED",
  "chatConsent": "ENABLED",
  "subscriptions": [PersonSubscription]
}

PersonConsentStatus

Values

Enum Value Description

ENABLED

DISABLED

PENDING

Example

"ENABLED"

PersonRolesForFundraiser

Fields

Field Name Description
isTeamMember - Boolean!
isBene - Boolean!
isOrganizer - Boolean!
isDonor - Boolean!

Example

{"isTeamMember": true, "isBene": false, "isOrganizer": false, "isDonor": false}

PersonSubscription

Fields

Field Name Description
subscriptionGroupId - ID!
personId - ID!
channel - String!
name - String!
optIn - Boolean!

Example

{
  "subscriptionGroupId": 4,
  "personId": "4",
  "channel": "xyz789",
  "name": "xyz789",
  "optIn": true
}

PhoneInfo

Fields

Field Name Description
number - String! phone number
phoneNumberLast4 - String! Last 4 digits of the phone number
verified - Boolean! Is the phone number verified
consent - Consent! Information about the user's consent to be contacted via phone please use PersonConsent

Example

{
  "number": "xyz789",
  "phoneNumberLast4": "abc123",
  "verified": false,
  "consent": Consent
}

Photo

Fields

Field Name Description
id - ID!
filename - String! Name of the file
url - Url! URL where the photo is accessible
mediaType - MediaType! Type of media the photo represents
mediaId - String The slug of the YouTube video. Only applicable if the photo is a thumbnail for a YouTube video
caption - String Caption for the photo
photoType - PhotoType! Enumerated type of the photo indicating where it is used or its purpose
createdAt - DateTime! The date and time when the photo was created
scaled - PhotoScaled Scaled versions of the photo for different resolutions and aspect ratios. These are not utilized for profile photos
status - PhotoStatus! Status of the photo, indicating if it is active or deleted

Example

{
  "id": 4,
  "filename": "abc123",
  "url": Url,
  "mediaType": "UNKNOWN",
  "mediaId": "xyz789",
  "caption": "abc123",
  "photoType": "MAIN",
  "createdAt": "2007-12-03T10:15:30Z",
  "scaled": PhotoScaled,
  "status": "DELETED"
}

PhotoCounts

Fields

Field Name Description
photos - Int!
coPhotos - Int!
communityPhotos - Int!

Example

{"photos": 987, "coPhotos": 123, "communityPhotos": 123}

PhotoScaled

Fields

Field Name Description
fourByThree1200 - Url
threeByTwo1200 - Url
sixteenByNine720 - Url
threeByTwo720 - Url
threeByTwo640 - Url
oneByOne960 - Url

Example

{
  "fourByThree1200": Url,
  "threeByTwo1200": Url,
  "sixteenByNine720": Url,
  "threeByTwo720": Url,
  "threeByTwo640": Url,
  "oneByOne960": Url
}

PhotoStatus

Values

Enum Value Description

DELETED

ACTIVE

Example

"DELETED"

PhotoType

Values

Enum Value Description

MAIN

DESCRIPTION

UPDATE

FACEBOOK_SLIDESHOW

CONTENT

TEAM

PROFILE

GALLERY

Example

"MAIN"

PreselectedContactData

Description

Contact data used for Preselecting in Nudge Text Suggestions

Fields

Field Name Description
id - ID! Id of contact data
firstName - String Contact first name
lastName - String Contact last name
channel - ContactShareChannel! Contact Data channel type
value - String! Contact data value (phoneNumber/email)

Example

{
  "id": 4,
  "firstName": "abc123",
  "lastName": "xyz789",
  "channel": "SMS",
  "value": "xyz789"
}

Profile

Fields

Field Name Description
id - ID!
name - String
bio - String
tagLine - String
onboardingCompleted - Boolean
mode - ProfileModeValues!
isEditable - Boolean!
status - ProfileStatusValues!
image - Url Profile image url
totalInspiredPeopleCount - Int Unique share view count
inspiredPeople - [ProfileInspiredPerson!] Most recent 3 inspired people
activeEntries - [ProfileActiveEntry!] Active Entries
hiddenEntries - [ProfileHiddenEntry!] Hidden Entries
pinnedEntries - [ProfilePinnedEntry!] Pinned Entries
causes - [ProfileCause!] Causes that the user is supporting
socials - [ProfileSocial!] Customizable Social platform links
isNew - Boolean Determines if a profile was just created or an existing one
slug - String A profile custom slug. This will appear in the profile public URL
activityFeed - ActivityConnection A profile's public activity feed. This feed contains all of the profile owner's activity on the platform Use profile.feed
Arguments
first - Int
last - Int
before - String
after - String
order - ActivityOrder
feed - Feed A profile's public feed. This feed contains all of the profile owner's activity on the platform
followers - FollowerConnection A profile's followers list (all the followers of the specified profile)
Arguments
first - Int
last - Int
before - String
after - String
order - FollowerOrder
following - FollowerConnection A profile's followed list (all the entities that the profile owner is following)
Arguments
first - Int
last - Int
before - String
after - String
order - FollowerOrder
followerCount - Int A profile's follower's count
followingCount - Int A profile's followed's count
viewerIsFollowing - Boolean Determines if the viewer is following the profile
viewerIsSubscribedToNotifications - Boolean Determines if the viewer has notifications enabled for the profile
viewerHasBlocked - Boolean Determines if the viewer has blocked the profile
viewerIsBlocked - Boolean Determines if the profile owner has blocked the viewer

Example

{
  "id": "4",
  "name": "abc123",
  "bio": "xyz789",
  "tagLine": "xyz789",
  "onboardingCompleted": true,
  "mode": "PRIVATE",
  "isEditable": true,
  "status": "ACTIVE",
  "image": Url,
  "totalInspiredPeopleCount": 987,
  "inspiredPeople": [ProfileInspiredPerson],
  "activeEntries": [ProfileActiveEntry],
  "hiddenEntries": [ProfileHiddenEntry],
  "pinnedEntries": [ProfilePinnedEntry],
  "causes": [ProfileCause],
  "socials": [ProfileSocial],
  "isNew": true,
  "slug": "abc123",
  "activityFeed": ActivityConnection,
  "feed": Feed,
  "followers": FollowerConnection,
  "following": FollowerConnection,
  "followerCount": 123,
  "followingCount": 123,
  "viewerIsFollowing": true,
  "viewerIsSubscribedToNotifications": false,
  "viewerHasBlocked": true,
  "viewerIsBlocked": true
}

ProfileActiveEntry

Fields

Field Name Description
id - ID!
contentType - ProfileEntryContentTypeValues!
contentId - String!
position - Int!
smartlinkId - String Smartlink id is available only when the card contentType is Fundraiser
contentData - ProfileEntryContent

Example

{
  "id": "4",
  "contentType": "FUNDRAISER",
  "contentId": "abc123",
  "position": 987,
  "smartlinkId": "abc123",
  "contentData": Fundraiser
}

ProfileCause

Fields

Field Name Description
id - ID!
type - ProfileCauseTypeValues!
position - Int!

Example

{"id": 4, "type": "ANIMALS", "position": 987}

ProfileCauseTypeValues

Values

Enum Value Description

ANIMALS

ARTS_AND_CULTURE

COMMUNITY

CRISIS_RELIEF

ENVIRONMENT

EDUCATION

FAITH

MEDICAL

SOCIAL_ADVOCACY

Example

"ANIMALS"

ProfileCauseUpdatedMetadata

Description

The metadata that will appear alongside the CAUSES_UPDATED verb

Fields

Field Name Description
causes - [ProfileCause] The causes associated with the CAUSES_UPDATED activity

Example

{"causes": [ProfileCause]}

ProfileEntryContent

Types

Union Types

Fundraiser

Charity

Example

Fundraiser

ProfileEntryContentTypeValues

Values

Enum Value Description

FUNDRAISER

NPO

Example

"FUNDRAISER"

ProfileHiddenEntry

Fields

Field Name Description
contentType - ProfileEntryContentTypeValues!
contentId - String!
strategyType - String!
contentData - ProfileEntryContent

Example

{
  "contentType": "FUNDRAISER",
  "contentId": "xyz789",
  "strategyType": "xyz789",
  "contentData": Fundraiser
}

ProfileInspiredPerson

Fields

Field Name Description
firstName - String!
lastName - String!
image - Url

Example

{
  "firstName": "xyz789",
  "lastName": "xyz789",
  "image": Url
}

ProfileListUpdatedMetadata

Description

The metadata that will appear alongside the LIST_UPDATED verb

Fields

Field Name Description
card - ProfileActiveEntry The card associated with the LIST_UPDATED activity

Example

{"card": ProfileActiveEntry}

ProfileModeValues

Values

Enum Value Description

PRIVATE

PUBLIC

Example

"PRIVATE"

ProfilePinUpdatedMetadata

Description

The metadata that will appear alongside the PIN_UPDATED verb

Fields

Field Name Description
pin - ProfilePinnedEntry The pin associated with the PIN_UPDATED activity

Example

{"pin": ProfilePinnedEntry}

ProfilePinnedEntry

Fields

Field Name Description
id - ID!
contentType - ProfileEntryContentTypeValues!
contentId - String!
smartlinkId - String Smartlink id is available only when the pin contentType is Fundraiser
contentData - ProfileEntryContent
message - String

Example

{
  "id": 4,
  "contentType": "FUNDRAISER",
  "contentId": "xyz789",
  "smartlinkId": "abc123",
  "contentData": Fundraiser,
  "message": "xyz789"
}

ProfileSocial

Fields

Field Name Description
id - ID!
type - ProfileSocialTypeValues!
link - String!
position - Int!

Example

{
  "id": 4,
  "type": "INSTAGRAM",
  "link": "xyz789",
  "position": 123
}

ProfileSocialTypeValues

Values

Enum Value Description

INSTAGRAM

TIKTOK

X

FACEBOOK

LINKTREE

YOUTUBE

LINKEDIN

TWITCH

SPOTIFY

PILLAR

GFM Partner

Example

"INSTAGRAM"

ProfileStatusValues

Values

Enum Value Description

ACTIVE

SUSPEND

SCHEDULED_TO_DELETE

Profile is scheduled to be deleted, but not yet deleted

Example

"ACTIVE"

ProjectType

Values

Enum Value Description

UNKNOWN

PERSONAL

CHARITY

AON

DIRECT_TO_CHARITY

HANDLE

GIVING_FUND

Example

"UNKNOWN"

ProviderConnection

Description

A connection between a User and an authentication provider, like Google, Apple, Facebook, etc. Not to be confused with the GraphQL Relay Connection spec. This 'connection' is unrelated to pagination, it refers to the connection between the User and the auth provider

Fields

Field Name Description
id - ID
provider - ContactProvider!
lastSync - DateTime
isConnected - Boolean!
contactsImportStatus - ContactsImportStatus!

Example

{
  "id": "4",
  "provider": "Apple",
  "lastSync": "2007-12-03T10:15:30Z",
  "isConnected": false,
  "contactsImportStatus": "NOT_STARTED"
}

SharePlatform

Values

Enum Value Description

Email

Facebook

Facebook_Messenger

Instagram

Nextdoor

SMS

Social_Media

Twitter

Whatsapp

Copy_Link

More_Options

Snapchat

TikTok

YouTube

LinkedIn

Example

"Email"

ShowFeatures

Fields

Field Name Description
showAddress - Boolean
showLinks - Boolean
showLogo - Boolean
showMission - Boolean

Example

{
  "showAddress": true,
  "showLinks": false,
  "showLogo": true,
  "showMission": false
}

SmartGoalsOptInState

Description

The state of smart goals referenced by the smartGoalsOptIn field on a fundraiser

Values

Enum Value Description

ENABLED

The fundraiser has smart goals available and the user has opted in

DISABLED

The fundraiser has smart goals available and the user has opted out

NOT_ELIGIBLE

The fundraiser is not eligible for smart goals (user has not opted in or out), do not show smart goals at all

Example

"ENABLED"

Status

Values

Enum Value Description

DELETED

ACTIVE

SLEEPMODE

SUSPEND

SUSPENDREVIEW

REVIEW

Example

"DELETED"

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text

Example

"xyz789"

SuggestedGoalAmount

Description

Suggested goal amount for the create, fundraiser, and manage pages

Fields

Field Name Description
goalAmount - Decimal The next smart goal amount for the fundraiser
isSmartGoalsDefaultEnabled - Boolean Determines if the smart goals toggle should be enabled by default

Example

{
  "goalAmount": Decimal,
  "isSmartGoalsDefaultEnabled": true
}

SuggestedGoalRequestSource

Values

Enum Value Description

CREATE

MANAGE

AFTER_DONATION

Example

"CREATE"

SuggestedGoalType

Values

Enum Value Description

SUGGESTED_GOAL

Goal type for suggesting a projected goal for the fundraiser

INITIAL_SMART_GOAL

Goal type when an existing smart goal doesn't exist

INCREMENTAL_SMART_GOAL

Goal type when fundraiser has donations

Example

"SUGGESTED_GOAL"

TShirtSize

Description

Represents a standard T-shirt size

Values

Enum Value Description

XS

S

M

L

XL

Example

"XS"

Team

Fields

Field Name Description
name - String
nameEncoded - String
teamPicUrl - Url
mediaType - MediaType
publicAttributions - Boolean!
teamInviteLimit - Int!
status - TeamStatus!
createdAt - DateTime
updatedAt - DateTime

Example

{
  "name": "abc123",
  "nameEncoded": "xyz789",
  "teamPicUrl": Url,
  "mediaType": "UNKNOWN",
  "publicAttributions": false,
  "teamInviteLimit": 987,
  "status": "DELETED",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

TeamMember

Description

Information about a team member in a fundraiser

Fields

Field Name Description
id - ID Unique identifier for the team member
firstName - String First name of the team member
lastName - String Last name of the team member
email - String Email address of the team member
amountRaised - Int Total amount raised by this team member in the fundraiser's currency
numberOfDonationsAttributed - Int Number of donations attributed to this team member
status - TeamMemberStatus! Current status of the team member (INACTIVE, ACTIVE, or ADMIN)
gfmProfileUrl - Url URL to the team member's GoFundMe profile page
profileUrl - Url URL to the team member's profile picture
role - TeamMemberRole! Role of the team member in the fundraiser (ORGANIZER, BENEFICIARY, or TEAM_MEMBER)
personId - ID Unique identifier for the person associated with this team member
locale - String Locale of the team member in IETF BCP 47 format (e.g., en-US)
teamId - ID Unique identifier for the team this member belongs to
fundId - ID Unique identifier for the fundraiser this team member is associated with

Example

{
  "id": 4,
  "firstName": "abc123",
  "lastName": "xyz789",
  "email": "xyz789",
  "amountRaised": 123,
  "numberOfDonationsAttributed": 987,
  "status": "INACTIVE",
  "gfmProfileUrl": Url,
  "profileUrl": Url,
  "role": "ORGANIZER",
  "personId": "4",
  "locale": "xyz789",
  "teamId": 4,
  "fundId": "4"
}

TeamMemberRole

Values

Enum Value Description

ORGANIZER

BENEFICIARY

TEAM_MEMBER

Example

"ORGANIZER"

TeamMemberStatus

Values

Enum Value Description

INACTIVE

ACTIVE

ADMIN

Example

"INACTIVE"

TeamStatus

Values

Enum Value Description

DELETED

ACTIVE

Example

"DELETED"

ThankYouAuthor

Description

Details about the author of a thank you message

Fields

Field Name Description
userId - ID The ID of the user who authored the thank you message
name - String The name of the user who authored the thank you message
profileUrl - Url The profile URL of the user who authored the thank you message

Example

{
  "userId": "4",
  "name": "abc123",
  "profileUrl": Url
}

ThankYouCategory

Description

The type of thank you message

Values

Enum Value Description

EMAIL

Message sent manually to the donor

AUTOMATIC

Message sent automatically by the platform

Example

"EMAIL"

Tip

Description

A tip made alongside a donation

Fields

Field Name Description
amount - Money The amount of money given
isRefunded - Boolean Whether the tip has been refunded
refundedAt - DateTime The date the refund was created, if the tip was refunded
refundNote - String The note associated with the tip refund, if the tip was refunded

Example

{
  "amount": Money,
  "isRefunded": false,
  "refundedAt": "2007-12-03T10:15:30Z",
  "refundNote": "abc123"
}

TransactionDetails

Description

Extra details for each different GivingFundTransactionType

Example

GivingFundContributionDetails

Upload

Example

Upload

Url

Example

Url

User

Fields

Field Name Description
unseenNotificationCount - Int The number of unseen notifications in the user's notification feed
notificationFeed - NotificationActivityConnection The notificationFeed query returns a paginated list of the user's notifications. Querying a notification will implicitly mark that notification as seen
Arguments
first - Int
last - Int
before - String
after - String
order - ActivityOrder
attributionInfo - AttributionInfo User specific information to aid in attribution for shares, invites, or donations for a fund
Arguments
fundraiserSlug - ID!
followedCauses - CausesConnection Gets causes that the user follows
Arguments
filter - CausesFilter
first - Int
last - Int
before - String
after - String
personChatLogin - PersonChatToken Queries for a chat login token for the logged in user
personChatDetails - PersonChatDetails Queries for person chat details for the logged in user
coachingTipsForFundraiser - [CoachingTipName!] List of coaching tip names
Arguments
fundraiserSlug - ID!
coachingTipsStreakForFundraiser - Int Number of coaching tips done
Arguments
fundraiserSlug - ID!
coachingTasksForFundraiser - [CoachingTaskCollection!] List of coaching task collections
Arguments
fundraiserSlug - ID!
coachingActionItems - [CoachingActionItem!] List of coaching action items belonging to a user
Arguments
communicationFundraiserPreferences - [PersonCommunicationFundraiserPreference] Fundraiser-level communication subscriptions for a logged in user
Arguments
channel - String
contactRecipients - ContactRecipientConnection List of user contacts recipient data for sharing Fundraisers
Arguments
first - Int
last - Int
before - String
after - String
order - ContactsOrder
providerConnections - [ProviderConnection] List of active or previously active connections between the User and a Contact Service provider
providerConnection - ProviderConnection Retrieve the provider connection for a specific provider
Arguments
provider - ContactProvider!
personRolesForFundraiser - PersonRolesForFundraiser!
Arguments
fundraiserSlug - ID!
givingFunds - [GivingFund] Gets a list of GivingFunds for the logged in user
givingFund - GivingFund Gets a specific GivingFund by ID for the logged in user
Arguments
id - ID!

The ID of the giving fund to retrieve

givingFundFavorites - [GivingFundFavorite] List of favorites for the logged in user within a giving fund context
Arguments
givingFundId - ID
hasInternalPermission - Boolean
Arguments
permission - String
marketingConsent - PersonConsent Queries consent for a logged in user
profile - Profile The profile of a given user, if they have one
isChampion - Boolean! User has created a smart link
id - ID! The users's Person_id
userId - ID! The users's user_id
firstName - String The users first name
lastName - String The users last name
profileUrl - Url
createdAt - DateTime Timestamp of when the viewer was created
country - CountryCode Country of the user
locale - String The viewer's language (ex. en_US)
phone - PhoneInfo Information about the viewer's phone number and consent to be contatcted
email - EmailInfo Information about the viewer's email and consent to be contacted
status - UserStatus Status of the user
donation - Donation Donation made by the user
Arguments
encryptedDonationId - String
assignedCountryForPayments - CountryCode

The country in which the user is assigned to create fundraisers and receive payments.

If a user has no fundraisers, then this value will be null, and they may create a fundraiser in any valid country. Once a user has published a fundraiser, this value is set and is not able to be changed.

Publishing a fundraiser sets up payments for that country, and they are assigned to that country moving forward

consent - PersonConsent
oAuthApplications - [Partner] Applications (oAuth partners) a gofundme user has given access to act on behalf of. This implies this user has consented this partner to take specific api actions via an ephemeral access_token
birthday - Date Gets birthday for logged in user. The year is ignored and hardcoded to 3000
latestWatchlistInquiry - WatchlistInquiry Gets the most recent watchlist inquiry, if one (or more) has been created for the logged in user
socialPlatformPreferences - [SharePlatform!] The social media platforms that the user prefers to use. This is a self-reported setting/preference indicated by the user
totalDonations - Int Total number of donations made
Arguments
fundraiserSlug - ID
totalDonated - [Money] Total amount donated made by user by currency
Arguments
fundraiserSlug - ID
totalDonatedForACause - [Money] Total amount donated made by user by currency for a cause
Arguments
causeSlug - ID!
totalDonationsFromShares - Int Total number of donations made from sharing smart links
Arguments
fundraiserSlug - ID
totalDonatedFromShares - [Money] Total amount donated from sharing smart links
Arguments
fundraiserSlug - ID
totalDonatedFromCauseShares - [Money] Total amount donated from sharing smart links for a cause
Arguments
causeSlug - ID!
totalViewsFromShares - Int Total number of views from sharing smart links
Arguments
fundraiserSlug - ID
totalDonorsFromShares - Int Total number of donors from sharing smart links
Arguments
fundraiserSlug - ID
totalInspiredDonationAmounts - [Money] Total amount donated from sharing smart links + donation amount to fundraiser that the person is CO of
Arguments
fundraiserSlug - ID
totalInspiredDonationAmountsForACause - [Money] Total amount donated from sharing smart links + donation amount to fundraiser that the person is CO of for a cause
Arguments
causeSlug - ID!
totalInspiredDonorsCount - Int Total number of donors from sharing smart links + donors to fundraiser that the person is CO of
Arguments
fundraiserSlug - ID
totalInspiredDonorsCountForACause - Int Total number of donors from sharing smart links + donors to fundraiser that the person is CO of for a cause
Arguments
causeSlug - ID!
totalFundraisersSupported - Int Total number of fundraisers supported
totalFundraisersSupportedForACause - Int Total number of fundraisers supported for a cause
Arguments
causeSlug - ID!
donationsFromShares - DonationConnection List of donations for signed-in users with smart link shares
Arguments
fundraiserSlug - ID
first - Int
last - Int
before - String
after - String
order - DonationOrder
createdFundraisers - [Fundraiser!]! The fundraisers that the user has created Use involvedFundraisers query with a filter for ORGANIZER relationship instead.
Arguments
filter - FundraiserFilter
involvedFundraisers - FundraiserConnection The fundraisers that the user is directly involved with
Arguments
filter - FundraiserFilter
first - Int
last - Int
before - String
after - String
order - FundraiserOrder
donations - DonationConnection List of donations for signed-in donors
Arguments
fundraiserSlug - ID
first - Int
last - Int
before - String
after - String
order - DonationOrder
claimableFundraisers - [Fundraiser] Fundraisers created by a partner that a user can claim
charityStorylineResponse - CustomPromptResult

User specific information to generate AI-driven charity storyline customized for the current user

Get the response of a charity storyline generation task by its ID. Results are permanently stored per charity

Arguments
taskId - ID!

Example

{
  "unseenNotificationCount": 987,
  "notificationFeed": NotificationActivityConnection,
  "attributionInfo": AttributionInfo,
  "followedCauses": CausesConnection,
  "personChatLogin": PersonChatToken,
  "personChatDetails": PersonChatDetails,
  "coachingTipsForFundraiser": ["SHARE_CLOSE_CONTACTS"],
  "coachingTipsStreakForFundraiser": 987,
  "coachingTasksForFundraiser": [CoachingTaskCollection],
  "coachingActionItems": [CoachingActionItem],
  "communicationFundraiserPreferences": [
    PersonCommunicationFundraiserPreference
  ],
  "contactRecipients": ContactRecipientConnection,
  "providerConnections": [ProviderConnection],
  "providerConnection": ProviderConnection,
  "personRolesForFundraiser": PersonRolesForFundraiser,
  "givingFunds": [GivingFund],
  "givingFund": GivingFund,
  "givingFundFavorites": [GivingFundFavorite],
  "hasInternalPermission": false,
  "marketingConsent": PersonConsent,
  "profile": Profile,
  "isChampion": true,
  "id": "4",
  "userId": "4",
  "firstName": "xyz789",
  "lastName": "xyz789",
  "profileUrl": Url,
  "createdAt": "2007-12-03T10:15:30Z",
  "country": "US",
  "locale": "abc123",
  "phone": PhoneInfo,
  "email": EmailInfo,
  "status": "INACTIVE",
  "donation": Donation,
  "assignedCountryForPayments": "US",
  "consent": PersonConsent,
  "oAuthApplications": [Partner],
  "birthday": "2007-12-03",
  "latestWatchlistInquiry": WatchlistInquiry,
  "socialPlatformPreferences": ["Email"],
  "totalDonations": 987,
  "totalDonated": [Money],
  "totalDonatedForACause": [Money],
  "totalDonationsFromShares": 987,
  "totalDonatedFromShares": [Money],
  "totalDonatedFromCauseShares": [Money],
  "totalViewsFromShares": 123,
  "totalDonorsFromShares": 123,
  "totalInspiredDonationAmounts": [Money],
  "totalInspiredDonationAmountsForACause": [Money],
  "totalInspiredDonorsCount": 123,
  "totalInspiredDonorsCountForACause": 123,
  "totalFundraisersSupported": 123,
  "totalFundraisersSupportedForACause": 123,
  "donationsFromShares": DonationConnection,
  "createdFundraisers": [Fundraiser],
  "involvedFundraisers": FundraiserConnection,
  "donations": DonationConnection,
  "claimableFundraisers": [Fundraiser],
  "charityStorylineResponse": CustomPromptResult
}

UserError

Description

Represents a fixable error that occurred during the execution of a mutation, such as failed validation. Each UserError provides context about the error, making it possible to identify which part of the user input caused the failure, and to display a meaningful message to the end-user

Fields

Field Name Description
field - String Specifies the input field associated with the error. This name corresponds to the field names as defined in the GraphQL input types. If the error is not specific to a single field but rather to the operation as a whole, this can be left empty
message - String! A human-readable explanation of the error. This message can be displayed directly to the end-users to inform them about what went wrong and potentially how to fix it

Example

{
  "field": "abc123",
  "message": "abc123"
}

UserStatus

Values

Enum Value Description

INACTIVE

User is inactive

ACTIVE

User is active

Example

"INACTIVE"

WatchlistInquiry

Description

The inquiry represents a single instance of an individual attempting to verify their identity. Inquiries are created when the individual begins to verify their identity

Fields

Field Name Description
id - ID! The id of the inquiry
status - WatchlistInquiryStatus The status of the overall flow of attempting to verify their identity
reports - [WatchlistReport!] The reports associated with this inquiry
verifications - [WatchlistVerification!] The verifications associated with this inquiry

Example

{
  "id": "4",
  "status": "CREATED",
  "reports": [WatchlistReport],
  "verifications": [WatchlistVerification]
}

WatchlistInquiryStatus

Description

The status of a watchlist inquiry. Watchlist inquiries may be abandoned by people during the process, which may result in an incomplete state, like PENDING, CREATED, or EXPIRED

Values

Enum Value Description

CREATED

The individual started the inquiry

PENDING

The individual submitted a verification within the inquiry

COMPLETED

The individual passed all required verifications within the inquiry

EXPIRED

The individual did not complete the inquiry within the configured expiration interval (24 hours by default)

FAILED

The individual exceeded the allowed number of verification attempts on the inquiry and cannot continue

NEEDS_REVIEW

The individual did not pass all verifications and a Case has been opened for review

APPROVED

The individual passed all verifications or their Case was reviewed and approved by an agent

DECLINED

An agent has reviewed their Case and has declined it

Example

"CREATED"

WatchlistReport

Description

A watchlist report is the result of checking an individual against several different lists, e.g. a government watchlist, to see if they appear on any one of them

Fields

Field Name Description
id - ID! The unique id of the watchlist report
hasMatch - Boolean

The main result/conclusion of a watchlist report, represented as a boolean. A true value means the information provided to create this report resulted in a watchlist match, or a lookup "hit". A false value means there was NO watchlist match. A null value means the report is still processing or errored out.

So, true is "bad" (the person appears on a watchlist), and false is "good" (the person does not appear on a watchlist)

Example

{"id": "4", "hasMatch": true}

WatchlistVerification

Description

A WatchlistVerification enables GoFundMe to answer "Is this person who they claim to be?". The verification process is accomplished through the generation and processing of checks against the information provided by the individual

Fields

Field Name Description
id - ID! The id of the verification
type - String

The manner in which verification was performed. See docs at https://docs.withpersona.com/reference/retrieve-a-verification for verification types.

Some examples are: "verification/government-id", "verification/phone-number", "verification/selfie", etc

status - WatchlistVerificationStatus The status of the verification

Example

{
  "id": "4",
  "type": "abc123",
  "status": "INITIATED"
}

WatchlistVerificationStatus

Description

Enum representing the various states of a verification process

Values

Enum Value Description

INITIATED

Verification has started, claimed information can now be sent and saved to the server for verification

CONFIRMED

Verification has been confirmed. This is a status specific to PhoneNumber verifications where they have verified a confirmation code that was entered

SUBMITTED

Verification has been submitted, the claimed information is frozen and the server will process the verification

PASSED

Verification has passed. The required checks have passed and the information is verified

REQUIRES_RETRY

Verification requires a resubmission. The checks could not be fully processed due to issues with the submitted information

FAILED

Verification has failed. Some or all of the required checks have failed and verification has failed

Example

"INITIATED"